【问题标题】:Creating a list of values of the same index from another list [duplicate]从另一个列表创建相同索引的值列表[重复]
【发布时间】:2020-04-15 02:47:59
【问题描述】:

我想知道,当事先不知道值的数量时,如何从另一个列表中创建相同索引的值的列表。

例如我有清单

list = [[25,75,94,63],[55,13,0,99],[41,63,93,25]]

我想要第二个列表

[[25,55,41],[75,13,63],[94,0,93],[63,99,25]]

如果可能的话,我希望只使用简单的 python 函数而不使用导入模块。如果可能的话,如何使用循环(可能是嵌套的?)

谢谢

【问题讨论】:

  • “zip”功能在这里可以提供帮助。它生成元组,然后必须将其转换回列表。循环可以做到这一点。您应该展示自己的努力和代码(在问题中正确格式化)来解决它。
  • @JoshuaVarghese 当然不用“zip”也可以。
  • 这是转置列表。换句话说,反转行和列。

标签: python python-3.x list loops


【解决方案1】:

您正在寻找 zip 内置函数,它完全符合您的预期。

【讨论】:

    【解决方案2】:

    试试:

    a = []
    for j in range(len(list1[0])):
        a.append([i[j] for i in list1])
    

    这是一个单行:

    [[i[j] for i in list1] for j in range(len(list1[0]))]
    

    这给出了输出:

    [[25, 55, 41], [75, 13, 63], [94, 0, 93], [63, 99, 25]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      • 2013-02-25
      相关资源
      最近更新 更多