【问题标题】:Accessing multiple element of list using loop [duplicate]使用循环访问列表的多个元素[重复]
【发布时间】:2020-08-15 12:11:04
【问题描述】:

我有一个清单

A = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] 

我想迭代访问 1、4、7、10,然后是 2、5、8、11,然后是 3、6、9、12。如何进行此迭代?

【问题讨论】:

  • 请张贴输出的外观...list(zip(*A)) ?
  • 是的, 1, 4, 7, 10 (\n) 2, 5, 8, 11 (\n) 3, 6, 9, 12 (\n)
  • 试试zipchain(from itertools)的组合:list(chain.from_iterable(zip(*A)))

标签: python list loops for-loop iteration


【解决方案1】:

您可以使用

访问它们
for i in range(len(A[0])):
    for j in range(len(A)):
        print(A[j][i])

【讨论】:

  • for i in range(len(A[0])): for j in range(len(A)): print(A[j][i])
  • @MarianD 没有想到,抱歉……
【解决方案2】:

如果您可以使用标准库中没有的东西,numpy 是修改列表和矩阵的好工具。您可以执行以下操作:

import numpy as np

A = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] 

print(np.asarray(A).T)

【讨论】:

    猜你喜欢
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 2014-11-09
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多