我有一个 python 字典,由元组组成的字典键,
像这样 :
{
(u'A_String_0', u'A_String_1', u'B_String_3', u'Remove_Me'): 300,
(u'A_String_0', u'B_String_4'): 301,
(u'A_String_0', u'A_String_1', u'B_String_3', u'Remove_Key'): 301,
}
当只有部分 tupple 出现在 key 中时,我想从字典中删除所有键:
例如
'Remove_'
在这种情况下,必须弹出两个键:一个包含
u'Remove_Me'
,另一个包含 u'Remove_Key'
最后,字典将如下所示:
{
(u'A_String_0', u'B_String_4'): 301
}
非常感谢 !
最佳答案
单程:
>>> d = {
(u'A_String_0', u'A_String_1', u'B_String_3', u'Remove_Me'): 300,
(u'A_String_0', u'B_String_4'): 301,
(u'A_String_0', u'A_String_1', u'B_String_3', u'Remove_Key'): 301,
}
>>>
>>>
>>> d_out = {k:v for k,v in d.items() if not any(x.startswith('Remove_') for x in k)}
>>> d_out
{(u'A_String_0', u'B_String_4'): 301}
编辑:如果您想检查
Remove_
是否是元组键的任何项目的一部分,那么您最好使用:>>> d_out = {k:v for k,v in d.items() if not any('Remove_' in x for x in k)}
关于 python 2.7 : remove a key from a dictionary by part of key,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34415897/