gpt4 book ai didi

python - 将嵌套列表值附加到新列表中

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:11 27 4
gpt4 key购买 nike

我有一个程序,它有一个嵌套列表,我希望访问它,然后根据条件附加到一个新列表。每个列表中有三个,我想知道如何分别访问它们。这是它目前的样子 [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I'] ]。一个更好地解释这一点的例子是,如果我想要第二列中的数据,我的新列表将看起来像 ['B', 'E', 'H']

这是我目前所拥有的,但我目前相当卡住..

n = 0
old_list = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
new_list = []

for a, sublist in enumerate(old_list):
for b, column in enumerate(sublist):
print (a, b, old_list[a][b])
if n == 0:
new_list.append(column[0])
if n == 1:
new_list.append(column[1])
if n == 2:
new_list.append(column[2])

print(new_list)

我当前的输出..

0 0 A
0 1 B
0 2 C
1 0 D
1 1 E
1 2 F
2 0 G
2 1 H
2 2 I
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']

我想要的输出..

n = 0
new_list = ['A', 'D', 'G']

n = 1
new_list = ['B', 'E', 'H']

n = 2
new_list = ['C', 'F', 'I']

感谢您的帮助!

最佳答案

>>> L = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
>>> columns = list(zip(*L))
>>> columns
[('A', 'D', 'G'), ('B', 'E', 'H'), ('C', 'F', 'I')]
>>> columns[1] # 2nd column
('B', 'E', 'H')

或者,如果您希望每一列作为列表进行修改(因为 zip 返回不可变元组),那么使用:

columns = [list(col) for col in zip(*L)]

关于python - 将嵌套列表值附加到新列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16166892/

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