given a list of value, and a list of key, How can I make a dictionary from both list?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
how to convert two lists into a dictionary (one list is the keys and the other is the values)?
如果我有一个整数列表:
1 | L=[1,2,3,4] |
我有一个元组列表:
1 | K=[('a','b'),('c','d'),('e','f'),('g','i')] |
我怎样才能列出一个dict,其中key是k中的item,value是l中的integer,其中每个integer都对应于k中的item
1 | d={('a','b'):1,('c','d'):2,('e','f'):3,('g','i'):4} |
使用
1 | d = dict(zip(K, L)) |
快速演示(考虑到
1 2 3 4 | >>> L=[1,2,3,4] >>> K=[('a','b'),('c','d'),('e','f'),('g','i')] >>> dict(zip(K, L)) {('e', 'f'): 3, ('a', 'b'): 1, ('c', 'd'): 2, ('g', 'i'): 4} |
有for循环,没有
1 2 3 | d={} for i, key in enumerate(K): d[key] = L[i] |
如果你需要使用for循环(这是你的作业吗?),可以从以下内容开始:
1 2 | d = {} for i in xrange(len(K)): |
你应该自己找出最后一行。
循环索引是一种可以在其他语言中使用的技术,在Python中有时(很少)是必需的。一般来说,您应该使用Python的高级语言特性,使代码更容易阅读和调试。
你应该可以用
1 2 | zipped = zip(K, L) d = dict(zipped) |