7.3 字典

我们查字典的时候,往往是根据一部分数据查询另一个数据,例如根据拼音查询字,根据偏旁查询字。
编程语言里面的字典类型,是一种单向的一一对应关系,通过键(key)查找值(value)。例如下面是一个字典:
dict={'a':1,'b':2,'c':3,'d':1}
print(dict['a'])
print(dict['b'])
print(dict['c'])
print(dict['d'])
我们可以把字典看成是一个下标可以是字符的列表,这种下标在字典里称为key(名称),key对应的值就是value了,字典就是这样的"名称-值"的对。(你也可以把列表看做是“数字下标-值”的对)。
字典根据名查找值,例如上面代码的第2到第5行代码,可以根据名修改对应的值,这个操作和列表的类似:
dict={'a':1,'b':2,'c':3,'d':1}
dict['b']=34 #下标为b的值从2改成了34
print(dict['b'])
以下是字典的常用函数:
函数名说明示例
copy()复制字典
dict={'a':1,'b':2,'c':3,'d':1}
ccc=dict.copy() #现在ccc和dict的值一样
in判断某个变量或者对象是不是字典里的键dict={'a':1,'b':2,'c':3,'d':1}
print('f' in dict)# 打印False
print('a' in dict)# 打印True
items()返回字典所有的键值对
dict={'a':1,'b':2,'c':3,'d':1}
print(dict.items()) #打印[('a', 1), ('b', 34), ('c', 3), ('d', 1)]
keys()返回字典所有的键dict={'a':1,'b':2,'c':3,'d':1}
print(dict.keys()) #打印['a', 'b', 'c', 'd']
values()返回字典所有的值dict={'a':1,'b':2,'c':3,'d':1}
print(dict.values()) #打印[1, 2, 3, 4]
clear()清空字典所有值
pop(k)删除键为k的值对
dict={'a':1,'b':2,'c':3,'d':1}
dict.pop('a')
print(dict) #打印{'b': 2, 'c': 3, 'd': 1},第一已经删除了
popitem()
随机删除一个并返回删除,一般用于遍历整个字典
#一边删除一边遍历
dict={'a':1,'b':2,'c':3,'d':1}
while len(dict)>0:
    aaa=dict.popitem() #aaa是刚删除的值对
    print(aaa) #通常会打印('a', 1),随机删除大部分情况还是从第一个开始删
del删除字典里某对键值对
del dict['d']
添加一个键值对,赋值的时候如果键不存在,那么就增加到字典dict['f']=3
这种数据结构在web开发的前后端分离中大量应用,JSON就是此格式。
字典也可以用for循环遍历,以下是两种遍历方式
dict={'a':1,'b':2,'c':3,'d':1}
for c in dict:
   print (c)
for (k,v) in dict.items():
   print(k,":",v)