介绍:
字典(dict)是键值对的无序集合,字典中的每个元素包含用冒号分隔开的“键“和”值“两部分,表示一种映射关系,也称为关联数组。
注意:
(1)字典中的”键“只能是python中不可变的数据类型,如整数,元组,字符串。
(2)在字典中”键“不可以重复,”值“可以重复
# 字典的创建
# 第一种方式
dic1 = {1:'A', 2:'B', 3:'c'}
print(dic1) # {1: 'A', 2: 'B', 3: 'c'}
# 第二种方式
dic2 = dict((('A',111), ('B',222), ('C',333)))
print(dic2) # {'A': 111, 'B': 222, 'C': 333}
# 字典的访问
dic3 = {'A':101, 'B':201, 'C':301}
print(dic3['A']) # 101
#print(dic3['D']) # KeyError: 'D' 注意:索引字典不存在的键值对是会报错的
# 更新字典
dic4 = {'A':102, 'B':202, 'C':302}
dic4['B'] = 222
print(dic4) # {'A': 102, 'B': 222, 'C': 302}
dic4['D'] = 402
print(dic4) # {'A': 102, 'B': 222, 'C': 302, 'D': 402} 注意:更新字典不存在的值时,会在字典中添加这个键值对
# 删除键值对
dic5 = {'A':103, 'B':203, 'C':303}
del dic5['A']
print(dic5) # {'B': 203, 'C': 303}
# 遍历字典
dic6 = {'A':104, 'B':204, 'C':304, 'D':404}
print(dic6.items()) # dict_items([('A', 104), ('B', 204), ('C', 304), ('D', 404)])
print(type(dic6.items())) # <class 'dict_items'>
for k,v in dic6.items():
print('\nkey:',k)
print('value:',v)
'''
key: A
value: 104
key: B
value: 204
key: C
value: 304
key: D
value: 404
'''
# clear()方法 清空字典的内容
dic7 = {'A':105, 'B':205, 'C':305, 'D':405}
dic7.clear()
print(dic7) # {}
# copy()方法 返回一个具有相同键值对的新字典,不是原字典的副本
dic8 = {'A':106, 'B':206, 'C':306, 'D':406}
dic9 = dic8.copy()
print(dic9) # {'A': 106, 'B': 206, 'C': 306, 'D': 406}
dic8['E'] = 606
print(dic8) # {'A': 106, 'B': 206, 'C': 306, 'D': 406, 'E': 606}
print(dic9) # {'A': 106, 'B': 206, 'C': 306, 'D': 406}
# get()方法 返回键的值,如果值不存在则返回默认值
dic10 = {1:'a', 2:'b'}
print(dic10.get(2)) # b
print(dic10.get(3,'c')) # c
# items()方法 返回字典的所有键值对
dic11 = {'A':10, 'B':20, 'C':30, 'D':40}
print(dic11.items()) # dict_items([('A', 10), ('B', 20), ('C', 30), ('D', 40)])
print(type(dic11.items())) # <class 'dict_items'>
# keys()方法 返回字典的的所有键
dic12 = {'A':100, 'B':200, 'C':300, 'D':400}
print(dic12.keys()) # dict_keys(['A', 'B', 'C', 'D'])
print(type(dic12.keys())) # <class 'dict_keys'>
# update()方法 把一个字典的键值对更新到另一个字典中,该方法无返回值
dic13 = {'A':1000, 'B':2000, 'C':3000, 'D':4000}
dic14 = {'B':5000}
dic13.update(dic14)
print(dic13) # {'A': 1000, 'B': 5000, 'C': 3000, 'D': 4000}
dic15 = {'E':6000}
dic13.update(dic15)
print(dic13) # {'A': 1000, 'B': 5000, 'C': 3000, 'D': 4000, 'E': 6000}
# values()方法 以列表的形式返回字典中的所有值
dic16 = {'A': 1000, 'B': 5000, 'C': 3000, 'D': 4000, 'E': 6000, 'F':7000}
print(dic16.values()) # dict_values([1000, 5000, 3000, 4000, 6000, 7000])
print(type(dic16.values())) # <class 'dict_values'>