从字典中键的值列表中删除重复项?

时间:2016-05-22 13:40:36

标签: python dictionary

有没有更好的方法来删除重复项,只保留字典中每个键的最小值而不循环到字典中而不创建要附加到其中的新字典?

dic2 = {}
dic = {0: [4, 4, 4, 4, 5], 1: [3, 4, 4, 4]}
for key, value in dic.items():
    min_value = min(value)
    dic2[key] = min_value
print(dic2)

输出

{0: 4, 1: 3}

2 个答案:

答案 0 :(得分:5)

使用词典理解:

dic2 = {k: min(v) for k, v in dic.items()}

答案 1 :(得分:1)

我对你的解决方案非常满意。这两个词典不一样,它们是截然不同的,所以我没有看到修改原文的好处。我会减少一条线:

dic2 = {}
dic = {0: [4, 4, 4, 4, 5], 1: [3, 4, 4, 4]}
for key, value in dic.items():
    dic2[key] = min(value)
print(dic2)