我正在尝试创建一种待办事项列表应用程序。问题是这样的:
所有任务名称都存储在列表中。 所有截止日期都存储在其他列表中。 等等。我如何组合这些列表以获得像这样的字典。
task_names = ['test1', 'hw 1']
date_due = ['17 Dec', '16 Jan']
given_task = [{
'name' : 'test1',
'date_due' : '17 Dec',
}
, {
'name' : 'hw1',
'date_due' : '16 Jan',
}]
答案 0 :(得分:4)
我想你想要这样的东西
given_task = [{'name': i, 'date_due': j} for i, j in zip(task_names, date_due)]
答案 1 :(得分:0)
这是在列表理解中使用zip
和dict
的一种方法
例如:
task_names = ['test1', 'hw 1']
date_due = ['17 Dec', '16 Jan']
keys = ['name', 'date_due']
print([dict(zip(keys, i)) for i in zip(task_names, date_due)])
输出:
[{'date_due': '17 Dec', 'name': 'test1'},
{'date_due': '16 Jan', 'name': 'hw 1'}]
答案 2 :(得分:0)
首先:given_task
不是有效的python结构。我认为您想要一个包含
given_task = [{
'name' : 'test1',
'date_due' : '17 Dec',
}
, {
'name' : 'hw1',
'date_due' : '16 Jan',
}]
据我了解,任务名称和任务日期总是相同。在这种情况下,您可以遍历所有任务并将它们添加到列表中。
given_task = []
for i in range(len(task_names)):
given_task.append({'name':task_names[i],'date_due':dates_due[i]})