【问题标题】:Converting a 1D list into a 2D list with a given row length in python [duplicate]在python中将一维列表转换为具有给定行长的二维列表[重复]
【发布时间】:2015-02-06 21:07:14
【问题描述】:

有没有一种简单的方法可以将一维列表转换为具有给定行长的二维列表?

假设我有一个这样的列表:

myList =  [1, 2, 3, 4, 5, 6, 7, 8, 9]

我想将上面的列表转换成一个 3 x 3 的表格,如下所示:

myList = [[1,2,3],[4,5,6],[7,8,9]]

我知道我可以通过创建一个名为 myList2 的新二维列表并使用 2 个嵌套的 for 循环将元素插入到 MyList2 来完成此操作。赞MyList2[x][y] = myList[i] i++

我认为应该有更好的方法来做到这一点(不使用外部库或模块)

谢谢!

【问题讨论】:

    标签: python arrays algorithm list sorting


    【解决方案1】:

    list comprehension 与切片一起使用:

    >>> myList =  [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> n = 3
    >>> [myList[i:i+n] for i in range(0, len(myList), n)]
    [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-29
      • 1970-01-01
      • 2023-02-19
      • 1970-01-01
      • 2021-12-18
      • 2017-12-06
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多