字典的基本操作(二)

2019-01-20  本文已影响20人  5f2a6061653d

复制字典

有时需要将字典复制一份以便用于其他操作,这样原字典数据不受影响,这时可以通过函数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'的元素,注意该函数返回键所对应的值,而不是键值对。

上一篇下一篇

猜你喜欢

热点阅读