如何从元组列表创建字典而不覆盖第一个唯一键值?

时间:2015-11-13 21:44:44

标签: python list dictionary tuples

所以我有一个带有键及其对应值的元组列表。我希望将它显示为字典,所以我写了

def tup_to_dict (lst):
    return dict(lst)

现在,如果我的第一个是[("A3", "green"), ("B5", "blue"), ("A3", "yellow")],那么我的输出将是:

{'B5': 'blue', 'A3': 'yellow'}

如何检查某个键是否已分配值而不是覆盖该值,如何检查。所以我的输出看起来像这样:

{"A3": "green", "B5": "blue"}

谢谢!

2 个答案:

答案 0 :(得分:6)

dict使用最后一个值,您想使用第一个值... swap'em!

return dict(reversed(lst))

答案 1 :(得分:1)

这也有效:

a = [("A3", "green"), ("B5", "blue"), ("A3", "yellow")]
b = dict((x,y) for x,y in reversed(a))