从Python dict中删除多个键
是否有任何有效的快捷方式可以一次从python字典中删除多个键 比如,从Python dict中删除多个键,python,dictionary,Python,Dictionary,是否有任何有效的快捷方式可以一次从python字典中删除多个键 比如, x = {'a': 5, 'b': 2, 'c': 3} x.pop('a', 'b') print x {'c': 3} 使用: 我使用的一般形式如下: 生成要从映射中删除的键列表 在列表上循环并调用每个 例如: 假设我要删除映射中的所有字符串键。制作一份清单: >>> x={'a':5,'b':2,'c':3,1:'abc',2:'efg',3:'xyz'} >>> [k for k
x = {'a': 5, 'b': 2, 'c': 3}
x.pop('a', 'b')
print x
{'c': 3}
使用:
我使用的一般形式如下:
>>> x={'a':5,'b':2,'c':3,1:'abc',2:'efg',3:'xyz'}
>>> [k for k in x if type(k) == str]
['a', 'c', 'b']
现在我可以删除以下内容:
>>> for key in [k for k in x if type(k) == str]: del x[key]
>>> x
{1: 'abc', 2: 'efg', 3: 'xyz'}
取下一些钥匙
我已经测试了三种方法的性能:
d=dict.fromkeys('abcdefghijklmnopqrstuvxyz')
删除密钥=设置('abcdef')
#方法1
对于“输入/删除”键:
德尔d[钥匙]
#方法2
对于“输入/删除”键:
d、 流行音乐(键)
#方法3
{key:v代表key,d.items()中的v如果remove_keys中的key no}
以下是100万次迭代的结果:
del
是最快的
安全地取下一些钥匙
但是,如果要安全地删除,以便不会因KeyError而失败,则必须修改代码:
#方法1
对于“输入/删除”键:
如果输入d:
德尔d[钥匙]
#方法2
对于“输入/删除”键:
d、 弹出(键,无)
#方法3
{key:v代表key,d.items()中的v如果remove_keys中的key no}
尽管如此,
del
仍然是最快的。非常有效
>>> for key in [k for k in x if type(k) == str]: del x[key]
>>> x
{1: 'abc', 2: 'efg', 3: 'xyz'}