方法一:dic.pop('key', 默认值)
## pop移除的键存在时,返回键对应的值dic = {'1':'node1','2':'node2'}print(dic.pop('1', None)) # node1print(dic) # {'2': 'node2'}## pop移除的键不存在,则返回默认值dic = {'1':'node1','2':'node2'}print(dic.pop('3', None)) # Noneprint(dic) # {'1': 'node1', '2': 'node2'}
字典的pop方法可以将字典键所对应的值给删除掉,但因为字典中键和值是映射关系,该键所对应的值被删除了,则该键也会从字典中移除。
pop方法会返回被移除键对应的值。
若pop方法想移除的键不存在,则返回默认值。
方法二:使用Python关键字del移除字典中的键值对
## 必须保证要移除的键存在dic = {'1':'node1','2':'node2'}del dic['1']print(dic) # {'2': 'node2'}## 若移除的键存在,则会报异常KeyErrordic = {'1':'node1','2':'node2'}del dic['3'] # 报异常KeyError: '3'print(dic)
del关键字只有一个作用,就是将一个对象从内存中彻底地删除掉。
由于字典的键与值映射关系,彻底地从内存中删除值 del dic['key'],意味着值所对应的键也将被移除。
由于当字典中不存在指定的键时,dic['key']会报异常KeyError,所以必须保证要移除的键在字典中是存在的。
方法三:使用dic.clear()方法
dic = {'1':'node1','2':'node2'}dic.clear()print(dic) # {}
dic.clear()方法会将dic字典中的所有键值对都移除掉,最后得到一个空字典。
删除字典中多个键值对的方法:
1、使用for循环遍历要删除的键
dic = {'3': 'node3', '4': 'node4', '5': 'node5', '1': 'node1', '2': 'node2'}l = ['1', '3', '5']for k in l: dic.pop(k, None)print(dic) # {'4': 'node4', '2': 'node2'}## 键不存在也可使用dic = {'3': 'node3', '4': 'node4', '5': 'node5', '1': 'node1', '2': 'node2'}l = ['1', '3', '5', '7']for k in l: dic.pop(k, None)print(dic) # {'4': 'node4', '2': 'node2'}
2、使用map函数
## 要删除的键不存在时返回Nonedic = {'3': 'node3', '4': 'node4', '5': 'node5', '1': 'node1', '2': 'node2'}arr = ['1', '3', '5', '7']res = map(dic.pop, arr)
来源地址:https://blog.csdn.net/m0_46829545/article/details/128578443