[Python3]Dictionary(字典)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Python3]Dictionary(字典)相关的知识,希望对你有一定的参考价值。

概述

Dictionnary(字典)是Python最常用的数据类型,它使用方括号{}来标识,其元素为key-value对应,key与value用冒号:分割开,下面我们看一个基本的字典创建示例:

dict = {u"key1": u"value1", u"key2": u"value2"}

 

或是这样创建:

dict = {12: u"博客园", u"cnblog": u"谷白"}

内置函数

Python中常用的内置函数有:

  • len
    用于计算字典元素的个数, 即key的总数

  • str
    输出字典,即以可打印的字符串输出字典

  • type
    返回变量的类型

下面我们一起看看上述三个函数如何应用于字典的实例代码:

# -*- coding:utf-8 -*-

__author__ = u谷白

if __name__ == "__main__":    
    # 字典基本示例
    dict = {u"博客园": u"cnblog", u"谷白": u"Python3"}    
    
    # 计算字典的长度
    print(len(dict))    
    
    # 以字符方式输出字典,即将字典转换成字符串
    str_d = str(dict)
    print(str_d)
    print(dict)    
    
    # 判断类型
    print(type(dict)) # 字典类型
    print(type(str_d)) # 字符串str类型

 

执行结果如下:

2
{博客园: cnblog, 谷白: Python3}
{博客园: cnblog, 谷白: Python3}
<class dict>
<class str>

字典方法

在python中,有大量的方法用于字典的处理,下面我们看看示例:

  • clear
    清空字典

  • copy
    复制字典

  • fromkeys
    以序列作为kye创建一个新字典,value为所有键对应的初始值

  • get
    返回指定key的value,如果key不存在,则返回默认值

  • in
    判断key是否存在,是则返回True,否则返回False

  • items
    返回可遍历的的元组,元组的元素为(key,value)形式

  • keys
    返回字典的所有key

  • setdefault
    如果key存在,则返回其对应的value,否则将该key和默认值插入到字典中,并返回默认值

  • update
    更新字典

  • values
    返回字典的所有value值

下面我们一起看看上述方法的实际应用:

# -*- coding:utf-8 -*-

__author__ = u谷白

if __name__ == "__main__":
    print(u"字典方法应用示例")

    dict_demo = {u"博客园": u"cnblog", u"谷白": u"Python3"}
    tup1 = [1, 2, 3, 4]    
    
    # copy复制字典
    dict_cp = dict_demo.copy()
    print(dict_demo)
    print(dict_cp)    
    
    # fromkeys创建字典
    dict_new = dict.fromkeys(tup1, u"value")
    print(dict_new)    
    
    # get获取指定key的value
    value1 = dict_demo.get(u"博客园", u"我是默认值")
    value2 = dict_demo.get(u"Python3", u"我是默认值")
    print(value1)
    print(value2)    
    
    # in, 判断key是否存在
    key = u"博客园"
    result1 = key in dict_demo
    result2 = key in dict_new
    print(result1)
    print(result2)    
    
    # items, 以元组形式返回字典所有的(key, value)
    items = dict_demo.items()
    print(items)    
    
    # keys 以列表形式返回字典所有的key
    keys = dict_demo.keys()
    print(keys)    
    
    # setdefault, 如果key存在,则返回其对应的value,
    # 否则将该key和默认值插入到字典中,并返回默认值
    set_result1 = dict_demo.setdefault(u"博客园", u"设置值")
    set_result2 = dict_demo.setdefault(u"我是key", u"我是value")
    print(set_result1)
    print(set_result2)
    print(dict_demo)    
    
    # update, 更新字典
    dict_demo.update(dict_new)
    print(dict_demo)    
    
    # values,返回字典中所有的value
    values = dict_demo.values()
    print(values)

 

具体的运行结果,请自行运行查看。

遍历、修改、删除

下面我们一起看看如何对字典进行遍历、修改、删除操作。

# -*- coding:utf-8 -*-

__author__ = u谷白

if __name__ == "__main__":
    print(u"字典遍历、修改、删除示例")
    dict_demo = {u"博客园": u"cnblog", u"谷白": u"Python3"}    
    
    # 遍历 方法1
    for (key, value) in dict_demo.items():
        print("%s : %s" % (key, value))    

    # 遍历 方法2
    for key in dict_demo.keys():
        print("%s : %s" % (key, dict_demo[key]))    

    # 修改
    dict_demo[u"ebook"] = u"修改后的值"
    print(dict_demo)    
    
    # 删除指定元素
    del dict_demo[u"ebook"]
    print(dict_demo)    

    # 清空字典
    dict_demo.clear()
    print(dict_demo)

 

小结

  • 字典的value可以存储任何类型Python对象,即可以是标准的类型,也可以是我们自定义的类型,但key不可以。

  • 字典的key是唯一的,不可以重复

  • 字典的key可以是数字、字符串甚至元组,但不可以用列表

以上是关于[Python3]Dictionary(字典)的主要内容,如果未能解决你的问题,请参考以下文章

python3 字典(dictionary)

7-Python3从入门到实战—基础之数据类型(字典-Dictionary)

Python3 基本知识

python之dictionary

01-python3基础-基本数据类型

python3 字典