美文网首页
字典的基本操作(二)

字典的基本操作(二)

作者: 5f2a6061653d | 来源:发表于2019-01-20 08:15 被阅读20次

    复制字典

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

    相关文章

      网友评论

          本文标题:字典的基本操作(二)

          本文链接:https://www.haomeiwen.com/subject/mdkcrqtx.html