Python从具有多个键的字典中删除键

时间:2017-08-10 16:52:10

标签: python dictionary

所以我有一个字典,如下所示:

null

正如您所看到的,值有多个键。我想做的是基本上删除(删除)其中一个键。例如,我想说所有值都不再需要第一个键,并将上面的字典转换为以下字典:

dictionary={('a','b'):1,('c','d'):2}

最安全的做法是什么?

由于

3 个答案:

答案 0 :(得分:8)

您可以使用词典理解删除每个元组中的第一项:

dictionary = {k: v for (_, k), v in dictionary.items()}

答案 1 :(得分:1)

我不喜欢假设键的结构。使其绝对防弹

from collections import Iterable
d = {
    k[-1] if isinstance(k, Iterable) else k: v
    for k, v in dictionary.iteritems()
}

答案 2 :(得分:1)

如果您的密钥不是列表或元组,您将需要使用它:

d ={('a','b'):1,('c','d'):2}

new_d = {a[-1] if isinstance(a, tuple) or isinstance(a, list) else a:b for a, b in d.items()}