加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:26:59 所属栏目:Python 来源:网络整理
导读:我有一个程序,它有一个我希望访问的嵌套列表,然后根据条件附加到新列表.每个列表中有三列,我希望知道如何单独访问它们.这是它当前的样子[[‘A’,’B’,’C’],[‘D’,’E’,’F’],[‘G’,’H’,’I’]].一个更好地解释这个问题的例子是,如果我想要第二列中
我有一个程序,它有一个我希望访问的嵌套列表,然后根据条件附加到新列表.每个列表中有三列,我希望知道如何单独访问它们.这是它当前的样子[[‘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)]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读