仅通过指定键

时间:2018-04-11 19:35:33

标签: python dictionary

Python 3:

假设我有一本字典:

d={aaa0:'Hello',aaa1:'how',bbb0:'are',bb1:'you'}

现在我该如何删除包含' a'的所有密钥?在钥匙?我知道如何通过指定每个键然后删除它来删除键。

我想知道是否有任何" pythonic"通过仅指定键的一部分来移除键的方法 像:

if d['contains a'] del[key]

类似的东西。

预期产出:

d={bbb0:'are',bb1:'you'}

3 个答案:

答案 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中使用。