所以我有一个字典,如下所示:
null
正如您所看到的,值有多个键。我想做的是基本上删除(删除)其中一个键。例如,我想说所有值都不再需要第一个键,并将上面的字典转换为以下字典:
dictionary={('a','b'):1,('c','d'):2}
最安全的做法是什么?
由于
答案 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()}