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

我有一个程序,它有一个我希望访问的嵌套列表,然后根据条件附加到新列表.每个列表中有三列,我希望知道如何单独访问它们.这是它当前的样子[[‘A’,’B’,’C’],[‘D’,’E’,’F’],[‘G’,’H’,’I’]].一个更好地解释这个问题的例子是,如果我想要第二列中的数据,那么我的新列表将看起来像[‘B’,’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','C','D','F','G','I']

我想要的输出..

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

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

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

谢谢你的帮助!

解决方法

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

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

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

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...