我有以下python列表:
[['A,B,C,D'],
['1,2,3,4'],
['5,6,7,8']]
如何将它放入dict并使用第一个子列表作为键?:
{'A': '1',
'B': '2',
'C': '3',
'D': '4'}
{'A': '5',
'B': '6',
'C': '7',
'D': '8'}
提前致谢!
答案 0 :(得分:1)
在每个子列表中拆分字符串后,您可以zip
列表的第一个元素以及列表的其余元素:
# to split string in the sublists
lst = [i[0].split(',') for i in lst]
[dict(zip(lst[0], v)) for v in lst[1:]]
#[{'A': '1', 'B': '2', 'C': '3', 'D': '4'},
# {'A': '5', 'B': '6', 'C': '7', 'D': '8'}]
答案 1 :(得分:1)
只需使用DictReader实例即可。人们通常将它们与文件对象一起使用,但实际上它并不关心你传递它的内容,只要它可以迭代它。
dev
答案 2 :(得分:1)
让我们从问题中提供的数据开始:
>>> a = [['A,B,C,D'], ['1,2,3,4'], ['5,6,7,8']]
现在,让我们将其转换为所需的词典列表:
>>> [dict(zip(a[0][0].split(','), c[0].split(','))) for c in a[1:]]
[{'A': '1', 'C': '3', 'B': '2', 'D': '4'}, {'A': '5', 'C': '7', 'B': '6', 'D': '8'}