Python 3:
假设我有一本字典:
d={aaa0:'Hello',aaa1:'how',bbb0:'are',bb1:'you'}
现在我该如何删除包含' a'的所有密钥?在钥匙?我知道如何通过指定每个键然后删除它来删除键。
我想知道是否有任何" pythonic"通过仅指定键的一部分来移除键的方法
像:
if d['contains a'] del[key]
类似的东西。
预期产出:
d={bbb0:'are',bb1:'you'}
答案 0 :(得分:3)
字典理解适用于此
tme
编辑:这是在Python 2.7中
答案 1 :(得分:2)
使用items()
创建新的词典:
>>> d = {"a1": "A0", "a1": "A1", "b1": "B1", "b2": "B2"}
>>> e = {k: v for k, v in d.items() if not "a" in k}
>>> e
{'b2': 'B2', 'b1': 'B1'}
答案 2 :(得分:2)
因为你想从你的词典中删除项目:
d = {"aaa0":'Hello',"aaa1":'how',"bbb0":'are',"bb1":'you'}
for k in list(d):
if 'a' in k:
del d[k]
print(d)
这将通过迭代其键来修改当前的dict,而不像其他答案所建议的那样创建一个新的dict。
编辑 此代码无需修改即可在 Python 2和3中使用。