gpt4 book ai didi

python 转置除第一列之外的列表列表

转载 作者:行者123 更新时间:2023-11-30 22:38:57 24 4
gpt4 key购买 nike

我们可以使用

转置列表列表
map(list, zip(*l))

我们可以更改上面命令中的一些内容来转置以下列表列表(内部列表的第一个元素除外)吗?

l = [["item1",1,2,3],["item2",4,5,6],["item3",7,8,9]]

我正在寻找的结果是

r = [["item1",1,4,7],["item2",2,5,8],["item3",3,6,9]]

最佳答案

替代解决方案:

In [2]: it = [iter(x) for x in l]

In [3]: [list(x) for x in zip([next(x) for x in it], *it)]
Out[3]: [['item1', 1, 4, 7], ['item2', 2, 5, 8], ['item3', 3, 6, 9]]

首先,这会在 l (it) 的子列表上构建迭代器列表。

[next(x) for x in it] 推进 it 中的每个迭代器并将结果(列表的第一个元素)收集到列表中,然后 zip 与之前从 it 中递增的迭代器一起使用。

关于python 转置除第一列之外的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43355510/

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