簡體   English   中英

如何從單個列表中創建列表列表?

[英]how to create a list of lists out of a single list?

我需要將列表轉換為矩陣形式。我編寫了以下代碼:

Grid=[]
count=0
for i in range(N):
    l=[]
    for j in range(N):
        l.append(grid[count])
        count+=1
    Grid.append(l)

在這里, grid 是輸入列表,當我運行它時,出現以下錯誤。

Traceback (most recent call last):
  File "C:/Users/saikr/PycharmProjects/pythonprog/GlowingBacteria.py", line 80, in <module>
    ret=gb.findSolution(N,C,D,K,grid)
  File "C:/Users/saikr/PycharmProjects/pythonprog/GlowingBacteria.py", line 19, in findSolution
    l.append(grid[count])
IndexError: list index out of range

請幫我解決這個問題。

您可以使用另一種方法使用 python 列表創建矩陣。

  a = [[x] * m] * n

a是您想要的矩陣/多維列表。

m代表列數, n代表行數。

並且列表[x]是列表的初始化器,您可以在這里使用列表理解來初始化這些值。

或者

  N=5
  a = []
  for i in range(N):
      a.append([] * N)

這樣做只是為了創建一個 N x N 的空矩陣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM