复制字典
有时需要将字典复制一份以便用于其他操作,这样原字典数据不受影响,这时可以通过函数copy()来实现,如下所示。
1 std = {'name':'隼与鱼', 'score':100}
2 s = std.copy()
3 del s['score']
4 print(s)
5 print(std)
运行结果如下图所示。
运行结果
在上例中,第2行通过copy()将字典std中数据复制一份赋值给字典s,第3行删除字典s中元素'score':100。从运行结果可发现,对字典s的操作并不会影响字典std。
成员运算
字典中可以使用成员运算符(in、not in)来判断某键是否在字典中,如下所示。
1 std = {'name':'隼与鱼', 'score':100}
2 print('name' in std)
3 print('score' not in std)
运行结果如下图所示。
运行结果
在上例中,第2行与第3行通过成员运算符判断键是否在字典中,注意该运算符只能判断键是否在字典中,不能判断值是否在字典中。
设置默认键值对
有时需要为字典中某个键设置一个默认值,则可以使用setdefault()函数,如下所示。
1 std = {'name':'隼与鱼', 'score':100}
2 name = std.setdefault('school', '北大')
3 print(name, std)
4 name = std.setdefault('school', '清华')
5 print(name, std)
运行结果如下图所示。
运行结果
在上例中,执行第2行时,键'school'不在字典中,此时setdefault()函数向字典中加入键值对'school': '北大',并将'北大'作为返回值赋值给name。执行第4行时,键'school'已在字典中,此时setdefault()函数只将该键对应的值'北大'作为返回值赋值给name。
获取字典所有键
keys()函数可以获取字典中所有元素的键,如下所示。
1 std = {'name': '隼与鱼', 'score': 100}
2 print(std.keys())
3 for key in std.keys():
4 print(key)
运行结果如下图所示。
运行结果
在上例中,第2行打印key()函数的返回值,第3行到第4行通过for循环遍历keys()函数返回值并打印每一项。
获取字典所有值
values()函数可以获取字典中所有元素键所对应的值,如下所示。
1 std = {'name': '隼与鱼', 'score': 100}
2 print(std.values())
3 for value in std.values():
4 print(value)
运行结果如下图所示。
运行结果
在上例中,第2行打印values()函数的返回值,第3行到第4行通过for循环遍历values()函数返回值并打印每一项。
获取字典所有键值对
items()函数可以获取字典中所有的键值对,如下所示。
1 std = {'name': '隼与鱼', 'score': 100}
2 print(std.items())
3 for item in std.items():
4 print(item)
运行结果如下图所示。
运行结果
在上例中,第2行打印items()函数的返回值,第3行到第4行通过for循环遍历items()函数返回值并打印每一项。从运行结果可看出,每一项是由键与值组成的元组。
此外,通过items()函数与for循环可以遍历字典中的键值对,如下所示。
1 std = {'name': '隼与鱼', 'score': 100}
2 for key, value in std.items():
3 print('key = %s, value = %s'%(key, value))
运行结果如下图所示。
运行结果
在上例中,第2行到第3行通过for循环遍历items()函数返回值并将每一项中的键与值分别赋值给key与valule。
随机删除元素
popitem()函数可以随机返回并删除一个元素,如下所示。
1 std = {'name': '隼与鱼', 'score': 100, 'school':'北大'}
2 item = std.popitem()
3 print(item, std)
运行结果如下图所示。
运行结果
在上例中,第2行执行popitem()函数后,删除字典中最后一个元素,注意该函数返回一个元组。
此外,pop()函数可以根据指定的键删除元素,如下所示。
1 std = {'name': '隼与鱼', 'score': 100, 'school':'北大'}
2 item = std.pop('score')
3 print(item, std)
运行结果如下图所示。
运行结果
在上例中,第2行执行pop()函数后,删除字典中键为'score'的元素,注意该函数返回键所对应的值,而不是键值对。
网友评论