Python中删除字典中键值对的方法

野性酷女 2023-09-30 18:32 118阅读 0赞

方法一:dic.pop(‘key’, 默认值)

  1. ## pop移除的键存在时,返回键对应的值
  2. dic = {'1':'node1','2':'node2'}
  3. print(dic.pop('1', None)) # node1
  4. print(dic) # {'2': 'node2'}
  5. ## pop移除的键不存在,则返回默认值
  6. dic = {'1':'node1','2':'node2'}
  7. print(dic.pop('3', None)) # None
  8. print(dic) # {'1': 'node1', '2': 'node2'}

1、字典的pop方法可以将字典键所对应的值给删除掉,但因为字典中键和值是映射关系,该键所对应的值被删除了,则该键也会从字典中移除。

2、pop方法会返回被移除键对应的值。

3、若pop方法想移除的键不存在,则返回默认值。

方法二:使用Python关键字del移除字典中的键值对

  1. ## 必须保证要移除的键存在
  2. dic = {'1':'node1','2':'node2'}
  3. del dic['1']
  4. print(dic) # {'2': 'node2'}
  5. ## 若移除的键存在,则会报异常KeyError
  6. dic = {'1':'node1','2':'node2'}
  7. del dic['3'] # 报异常KeyError: '3'
  8. print(dic)

1、del关键字只有一个作用,就是将一个对象从内存中彻底地删除掉。

2、由于字典的键与值映射关系,彻底地从内存中删除值 del dic[‘key’],意味着值所对应的键也将被移除。

3、由于当字典中不存在指定的键时,dic[‘key’]会报异常KeyError,所以必须保证要移除的键在字典中是存在的。

方法三:使用dic.clear()方法

  1. dic = {'1':'node1','2':'node2'}
  2. dic.clear()
  3. print(dic) # {}

dic.clear()方法会将dic字典中的所有键值对都移除掉,最后得到一个空字典。

删除字典中多个键值对的方法:

1、使用for循环遍历要删除的键

  1. dic = {'3': 'node3', '4': 'node4', '5': 'node5', '1': 'node1', '2': 'node2'}
  2. l = ['1', '3', '5']
  3. for k in l:
  4. dic.pop(k, None)
  5. print(dic) # {'4': 'node4', '2': 'node2'}
  6. ## 键不存在也可使用
  7. dic = {'3': 'node3', '4': 'node4', '5': 'node5', '1': 'node1', '2': 'node2'}
  8. l = ['1', '3', '5', '7']
  9. for k in l:
  10. dic.pop(k, None)
  11. print(dic) # {'4': 'node4', '2': 'node2'}

2、使用map函数

  1. ## 要删除的键不存在时返回None
  2. dic = {'3': 'node3', '4': 'node4', '5': 'node5', '1': 'node1', '2': 'node2'}
  3. arr = ['1', '3', '5', '7']
  4. res = map(dic.pop, arr)

发表评论

表情:
评论列表 (有 0 条评论,118人围观)

还没有评论,来说两句吧...

相关阅读