0 python dictionary tuples numpy
我有一个这样的字典,如果第一个项目已经出现在元组中,我想删除元素。
原字典:
{85: [(88, 1), (89, 2), (89, 3), (89, 4)],
86: [(77, 1)],
112: [(35, 1), (36, 2)],
114: [(55, 1), (55, 2), (55, 3), (55, 4), (55, 5), (55, 6), (55, 7), (55, 8), (55, 9), (55, 10), (55, 11), (55, 12), (55, 13), (55, 14), (55, 15), (55, 16), (55, 17), (55, 18), (55, 19), (55, 20)],
122: [(72, 1), (72, 2), (72, 3), (72, 4), (72, 5), (72, 6), (72, 7), (72, 8)]}
Run Code Online (Sandbox Code Playgroud)
目标:
{85: [(88, 1), (89, 2)],
86: [(77, 1)],
112: [(35, 1), (36, 2)],
114: [(55, 1)],
122: [(72, 1)]}
Run Code Online (Sandbox Code Playgroud)
也许这个解决方案不是有效的,但它很短。这个想法是向后迭代每个列表并将其放入 dict 中,因此如果某些键相同,则只保留最后一个。
target = {k: list(dict(v[::-1]).items())[::-1] for k, v in d.items()}
Run Code Online (Sandbox Code Playgroud)