字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键和值用“:”分隔,每个键值对用“,”分隔,整个字典包括在{ }内,例如:
dict = {key1:value1,key2:value2}
键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但键必须是不可变的数据类型,如字符串,数字或元组。
访问字典中的值,可以用[ ]和键来获取其值。如果出现键重复的情况,键值为最后一个键值。例如:
dict = {'name':'zhangsan','age':18,'height':180,'weight':75,'age':100} #创建字典
print("dict['name']",dict['name']) #打印键为'name'的值
print("dict['age']",dict['age']) #打印键为'name'的值
print("dict['height']",dict['height']) #打印键为'name'的值
print("dict['weight']",dict['weight']) #打印键为'name'的值
输出结果为:
更新字典,可以直接通过键来修改值,也可以直接添加:
dict = {'name':'zhangsan','age':18,'height':180,'weight':75}
dict['name'] = 'lisi' #将键为'name'的值修改为'lisi'
dict['age'] = 20 #将键为'age'的值修改为20
dict['work'] = 'CEO' #添加键值对“'work':'CEO'”
print(dict)
输出结果为:
删除字典元素,可以删除单个字典元素,也可以删除整个字典,例如:
dict = {'name':'zhangsan','age':18,'height':180,'weight':75}
del dict['name'] #删除键为name的键值对
print(dict)
dict.clear() #删除字典中的所有键值对
print(dict)
del dict #删除这个字典
print(dict)
输出结果为:
内置字典函数和方法:
字典函数:
Sr.No. | 功能说明 |
1 | cmp(dict1,dict2) 用于比较两个字典元素(Python 3中不再提供)。 |
2 | len(dict) 给出字典的总长度。这将等于字典中的项目数(如果字典中有重复的将不计入字典总长度,只取最后一个)。 |
3 | str(dict) 生成字典的可打印字符串表示 |
4 | type(变量) 返回传递的变量的类型。如果传递的变量是字典,那么它将返回字典类型。 |
字典方法:
Sr.No. | 方法和描述 |
1 | dict.clear() 删除字典dict的所有元素,不删除字典本身,结果为一个空字典 |
2 | dict.copy() 返回字典dict的浅复制 |
3 | dict.fromkeys() 使用seq中的键创建一个新字典,并将值设置为value。 |
4 | dict.get(key,default=None) 对于键键,如果键不在字典中,则返回值或默认值 |
5 | dict.has_key(key) 删除后,使用in操作代替。 |
6 | dict.items() 返回dict(键,值)元组对的列表 |
7 | dict.keys() 返回字典dict键的列表 |
8 | dict.setdefault(key,default=None) 与get()类似,但如果key不在dict中,则会设置dict [key] = default |
9 | dict.update(dict2) 将字典dict2的键值对添加到dict中 |
10 | dict.values() 返回字典dict的值列表 |