我想从Python中的列表列表创建一个列表。这是我的方法

    grid=[[0,1,1], \
          [1,0,1], \
          [1,1,1], \
          [1,0,0]]
    grid2=[]
    for x in range(0,len(grid)):
     for y in range(0,len(grid[x])):
       if grid[x][y]==0:
         grid2.append(22)
       if grid[x][y]==1:
         grid2.append(44)

    for item in grid2:print grid2

我期望的输出在grid2中列表如下:
22,44,44
44,22,44
44,44,44
44,22,22

但我的逻辑似乎是错的。需要帮助

最佳答案

您需要将grid2视为列表列表。至少我觉得你是想这么做的。

grid=[[0,1,1], \
      [1,0,1], \
      [1,1,1], \
      [1,0,0]]
grid2=[]
for x in range(0,len(grid)):
    grid2.append([])
    for y in range(0,len(grid[x])):
        if grid[x][y]==0:
           grid2[x].append(22)
        if grid[x][y]==1:
           grid2[x].append(44)

for item in grid2:
    print ','.join([str(x) for x in item])

10-08 16:05