gpt4 book ai didi

python - 如何按索引顺序展平列表矩阵(列表列表)?

转载 作者:行者123 更新时间:2023-11-28 20:37:46 25 4
gpt4 key购买 nike

list_data = [['a', 'b', 'c', 'd'],
['hello', 'mellow', 'fellow', 'jello'],
[2, 3, 6, 8]]

flattened = []
for data in list_data:
for x in data:
flattened.append(x)

print(flatenned)

给我:

['a', 'b', 'c', 'd', 'hello', 'mellow', 'fellow', 'jello', 2, 3, 6, 8]

如何,我可以用一种最简单的方式将这个 lits 扁平化为(下方)

['a', 'hello', 2, 'b', 'mellow', 3,  'c', 'fellow', 6, 'd', 'jello', 8]

字典:

['a': ['hello' 2], 'b': ['mellow', 3], 'c': ['fellow', 6], 'd': ['jello', 8]]

过程的解释会很有帮助。

最佳答案

您可以使用zip 转置矩阵:

[y for x in zip(*list_data) for y in x]
# ['a', 'hello', 2, 'b', 'mellow', 3, 'c', 'fellow', 6, 'd', 'jello', 8]

获取字典:

dict(zip(list_data[0], zip(*list_data[1:])))
# {'a': ('hello', 2), 'b': ('mellow', 3), 'c': ('fellow', 6), 'd': ('jello', 8)}

描述:

字典被报告为键和值,d[k,v]

因此,第一部分 list_data[0] 从每个列表的第一个索引 (0) 中挑选 keys,而后一部分 zip(*list_data[ 1:]) 添加列表的剩余元素作为该键的值

关于python - 如何按索引顺序展平列表矩阵(列表列表)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42071152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com