【问题标题】:Jagged list of lists into a perfect 2d list将列表的锯齿状列表转换为完美的 2d 列表
【发布时间】:2022-06-28 23:59:12
【问题描述】:

我有这个锯齿状的 python 列表: my_list = [[[[1, 2, 3], [4, 5]], [[6, 7, 8]]]]]


[
    [
        [
            [1, 2, 3],
            [4, 5]
        ],
        [
            [6, 7, 8]
        ]
    ]
]

我如何把它变成这样:

[[[[1 2 3]
   [4 5 0]]

  [[0 0 0]
   [0 0 0]]

  [[6 7 8]
   [0 0 0]]]]


my_list = [[[[1, 2, 3], [4, 5]], [[6, 7, 8]]]]
z = [0,0,0]
for i in range(len(a[0])):
  for j in range(len(a[0][i])):
    # if len(a[0][i][j]) != 2:
      a[0][i].append(z)

打印(一)

给出这个:

[[[[1, 2, 3], [4, 5], [0, 0, 0], [0, 0, 0]], [[6, 7, 8], [0, 0 , 0]]]]

感谢您的帮助

【问题讨论】:

    标签: python list 2d


    【解决方案1】:

    您可以使用以下内容“填充”每一行:

    mylist.extend([0] * (3 - len(mylist)))
    

    这将使用 0 将“mylist”填充到 3 个元素。

    写起来可能有用:

    def padlist(mylist, n, value=0):
    
        mylist.extend([value] * (n - len(mylist)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-17
      • 2021-08-02
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 2016-06-01
      相关资源
      最近更新 更多