Python 如何将包含多个列表的列表转换为字典?
我有一个包含多个列表的列表,我想将第一个列表转换为键,然后将后续列表转换为值,而不使用熊猫 例如:Python 如何将包含多个列表的列表转换为字典?,python,list,dictionary,Python,List,Dictionary,我有一个包含多个列表的列表,我想将第一个列表转换为键,然后将后续列表转换为值,而不使用熊猫 例如: list = [[a, b, c],[1 ,2, 3], [4, 5, 6]....] 我如何将其转化为: dict = {a: [1, 4, 7], b: [2, 5, 8].....} 这利用zip()和解包操作符*来“旋转”列表lst(将其转换为[[a',1,4],'b',2,5],'c',3,6])。这是一个相当常见的成语 然后我们在dict理解中迭代每个子列表,指定第0个元素为键,其
list = [[a, b, c],[1 ,2, 3], [4, 5, 6]....]
我如何将其转化为:
dict = {a: [1, 4, 7], b: [2, 5, 8].....}
这利用zip()
和解包操作符*
来“旋转”列表lst
(将其转换为[[a',1,4],'b',2,5],'c',3,6]
)。这是一个相当常见的成语
然后我们在dict理解中迭代每个子列表,指定第0个元素为键,其余元素为值
请注意,默认情况下
zip()
返回元组而不是列表,因此如果希望以后能够修改它,我们必须将l[1://code>键入列表。在您的用例中可能不需要这样做。所有列表的大小是否相同?您是否编写了任何代码来帮助我们理解您所尝试的内容?学习如何使用。这是否回答了您的问题?
lst = [['a', 'b', 'c'], [1, 2, 3], [4, 5, 6]]
dct = {l[0]: list(l[1:]) for l in zip(*lst)}
# {'a': [1, 4], 'b': [2, 5], 'c': [3, 6]}