只是想知道是否有办法将2D列表转换为字典。
在我的结果列表中,我有类似
的内容[(15000001, datetime.datetime(2018, 2, 26, 12, 58, 10)), (15000002, datetime.datetime(2018, 2, 26, 12, 58, 11))]
我试图找到一种方法来循环它以获得
{'StudentID': results[row][0] ,'ClassAttended': results[row][1]}
psudocode就像
for row in results:
for item in row:
DO THIS {'StudentID': results[row][0] ,'ClassAttended': results[row][1]}
会打印出像
这样的内容{'StudentID' : '15000001', 'ClassAttended': '2018-2-26 12:58:10'}
答案 0 :(得分:2)
当然,请使用dict
,zip
和列表理解。
result = [ dict(zip(["StudentID", "ClassAttended"], row)) for row in inputlist]
或更直接:
result = [ {"StudentID": student, "ClassAttended": class}
for (student, class) in inputlist]
请注意,您的代码几乎是正确的,只需要累积。
accumulator = []
for row in inputlist:
d = {"StudentID": row[0],
"ClassAttended": row[1]}
accumulator.append(d)