【问题标题】:How can I transform a list of multiple lists into a dictionary? [closed]如何将多个列表的列表转换为字典? [关闭]
【发布时间】:2023-03-18 00:16:01
【问题描述】:

我有一个包含多个列表的列表,我想将第一个列表转换为键,将后续列表转换为值,而不使用 pandas。

例子:

list = [[a, b, c],[1 ,2, 3], [4, 5, 6]....]

我怎样才能把它变成这样:

dict = {a: [1, 4, 7], b: [2, 5, 8].....}

【问题讨论】:

标签: python list dictionary


【解决方案1】:
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]}

这利用zip() 和解包运算符* 来“旋转”列表lst(将其转换为[['a', 1, 4], ['b', 2, 5], ['c', 3, 6]])。这是一个相当普遍的成语。

然后我们只需在 dict 理解中遍历每个子列表,将第零个元素指定为键,将其余元素指定为值。

请注意,默认情况下zip() 返回元组而不是列表,因此如果我们希望以后能够修改它,我们必须将l[1:] 类型转换为list。在您的用例中,这可能不是必需的。

【讨论】:

    猜你喜欢
    • 2017-09-12
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2021-02-04
    相关资源
    最近更新 更多