字典的名单我有两个Python列表如下所示:转换列表在Python
fruits = ["apple", "banana", "guava", "grapes"]
colour = ["red", "yellow", "green", "black"]
我想将它们转换成以下格式的词典:
dictionary = [{"fruit":"apple", "colour":"red"},{"fruit":"banana", "colour":"yellow"}...]
字典的名单我有两个Python列表如下所示:转换列表在Python
fruits = ["apple", "banana", "guava", "grapes"]
colour = ["red", "yellow", "green", "black"]
我想将它们转换成以下格式的词典:
dictionary = [{"fruit":"apple", "colour":"red"},{"fruit":"banana", "colour":"yellow"}...]
邮编你的水果和颜色列表一起使用zip()
function,并从每对创建一个新词典:
[{'fruit': f, 'colour': c} for f, c in zip(fruits, colour)]
这使用list comprehension来创建循环的列表输出。
演示:
>>> fruits = ["apple", "banana", "guava", "grapes"]
>>> colour = ["red", "yellow", "green", "black"]
>>> [{'fruit': f, 'colour': c} for f, c in zip(fruits, colour)]
[{'colour': 'red', 'fruit': 'apple'}, {'colour': 'yellow', 'fruit': 'banana'}, {'colour': 'green', 'fruit': 'guava'}, {'colour': 'black', 'fruit': 'grapes'}]
一如既往,您的好回答!但请记住,即使是Python初学者也可能不理解在列表理解中压缩列表或循环的几个变量赋值... – linusg
@linusg:我在这里接受后续评论,通常有SO问题和文档可以指向。 –
一个很好的解决方案,我发现是使用一个外部的CSV文件来管理您的字典 例如dict.csv为csv文件
import csv
import os
dictionary = os.getcwd() + r'\dict.csv'
with open(dictionary, mode='r') as infile:
reader = csv.reader(infile)
mydict = {rows[0]:rows[1] for rows in reader}
的直供并且在csv文件中可以具有第一列作为第二列的颜色。易于修改和管理
考虑提供更多的细节,如你已经尝试过的代码等:) – Kannaj
非常相似:http://stackoverflow.com/questions/4576115/convert-a-list-to-a -python中的词典?rq = 1 –