列表列表成 table (Row, Column)

List of lists into table (Row, Column)

我的灵感来自环形图案钻石。图案菱形被替换为类似此代码的列表列表。实际上,我已经打印了 实际结果 没有查看行和列。预期结果看起来与实际结果相似。 Dummy Coords (dum_coords) 表示数据将放入table(行,列)。

如何规则更改值 None 或列表中小于 3 的值。我可以将值替换为新列表。哪个更好用列表的值或索引。

求指教

python,图案菱形,列表列表

l = 4

dum_coords = [None, [[1,2,3],6,7,8], [9,[1,2,3],11,12], [[1,2,3],14,15,16]]
for i in range(l):
   print("row:{}, {}".format(i, dumy_coords[i]))

实际结果:

row:0>> [None]
row:1>> [[1,2,3],6,7,8]
row:2>> [9,[1,2,3],11,12]
row:3>> [[1,2,3],14,15,16]

预期结果:

row:0>> [[None],[None],[None],[None]]
row:1>> [[None],[1,2,3],6,7]
row:2>> [9,[1,2,3],11,[1,2,3]]
row:3>> [[1,2,3],14,15,0]

更新问题

@Shishir Naresha 向我推荐了他的代码。因为结果与预期结果相似。但是,需要的不止于此。我可以替换值 None 或不替换 None.

这是我的代码并添加了@Shishir Naresha 的代码

dum_fish_space = [None]*5
dum_fish_pop = [None]*3
dum_fish_preying = [{"current":random.uniform(0,1)*2}]
dum_fish_following = [{"current":random.uniform(0,1)*1,"target":random.uniform(0,1)}]
dum_fish_swarming = [{"current":random.uniform(0,1)}]
dum_fish_randoming = [{"current":random.uniform(0,1)*3}]
dum_fish_battle = []

idxrange = []
new_idxrange = []

for i in range(len(dum_fish_pop)):
  temp = random.randrange(len(dum_fish_space))
  idxrange.append(random.randrange(len(dum_fish_space)))

  if temp is not idxrange:
    new_idxrange.append(temp)

l = 4

dumy_coords = [None, [[1, 2, 3], 6, 7], [9, [1, 2, 3], 11, 12], [[1, 2, 3], 14, 15, 16]]
  for i in range(l):

    if dumy_coords[i] is None:
      print("row:{}, {}".format(i, [None] * l))
    else:
      if len(dumy_coords[i]) < l:
        dif = l - len(dumy_coords[i])
        print("row:{}, {}".format(i, [None] * dif + dumy_coords[i]))
      else:
        print("row:{}, {}".format(i, dumy_coords[i]))

我认为 table 中的一个值会根据列表列表的索引而改变,我希望结果会一样

更改值前的预期结果:

row:0>> [[None],[None],[None],[None]]
row:1>> [[None],[1,2,3],6,7]
row:2>> [9,[1,2,3],11,[1,2,3]]
row:3>> [[1,2,3],14,15,0]

更改值后的预期结果:

row:0>> [[1,2,3],[1,2,3],[None],[None]]
row:1>> [[None],[None],6,7]
row:2>> [9,[None],11,[1,2,3]]
row:3>> [[1,2,3],14,15,0]

试试下面的代码。我希望这会有所帮助。

l = 4

dumy_coords = [None, [[1,2,3],6,7], [9,[1,2,3],11,12], [[1,2,3],14,15,16]]
for i in range(l):

    if dumy_coords[i] is None:
         print("row:{}, {}".format(i, [None]*l))
    else:
        if len(dumy_coords[i]) < l:
            dif = l-len(dumy_coords[i])
            print("row:{}, {}".format(i, [None]*dif+dumy_coords[i]))
        else:
            print("row:{}, {}".format(i, dumy_coords[i]))

输出将如下所示:

row:0, [None, None, None, None]
row:1, [None, [1, 2, 3], 6, 7]
row:2, [9, [1, 2, 3], 11, 12]
row:3, [[1, 2, 3], 14, 15, 16]