【发布时间】:2017-10-31 23:46:06
【问题描述】:
我有两个列表:
alist = ['key1','key2','key3','key3','key4','key4','key5']
blist= [30001,30002,30003,30003,30004,30004,30005]
我想合并这些列表并将它们添加到字典中。
我尝试dict(zip(alist,blist)) 但这给出了:
{'key3': 30003, 'key2': 30002, 'key1': 30001, 'key5': 30005, 'key4': 30004}
所需的字典形式是:
{'key1': 30001, 'key2': 30002, 'key3': 30003,'key3':30003, 'key4': 30004, 'key4': 30004, 'key5': 30005}
我想将重复项保留在字典中,并且不将值加入同一个键中(... key3': 30003,'key3':30003,...)。这可能吗?
提前致谢。
【问题讨论】:
-
你不能这样做
-
key中的dict不能有同名 -
所以,最好用元组炒锅
-
是的,字典必须具有唯一的、可散列的键,因此您需要查看非键集合,例如列表或元组。正如您可能知道的那样,集合也会删除重复项。还有另一种可能的解决方案here
-
是的,使用提到的列表或元组。试试这个代码:tuple(zip(alist, blist)) 或 list(zip(alist, blist))。
标签: python python-2.7 dictionary