【问题标题】:How to print a nested list like a grid?如何打印像网格一样的嵌套列表?
【发布时间】:2021-12-08 17:32:44
【问题描述】:
l1 = [[" "], [" "], [" "], [" "], 
      [" "], [" "], [" "], [" "],
      [" "], [" "], [" "], [" "],
      [" "], [" "], [" "], [" "]]

如您所见,我想要这 16 个空“盒子” 输出 4x4。 我尝试在 Stack Overflow 和网络上搜索解决方案。但似乎没有任何效果,因为有关嵌套列表的问题大多与整数有关。

期望的输出:

[" "][" "][" "][" "]
[" "][" "][" "][" "]
[" "][" "][" "][" "]
[" "][" "][" "][" "]

或者:

[   ][   ][   ][   ]
[   ][   ][   ][   ]
[   ][   ][   ][   ]
[   ][   ][   ][   ]

【问题讨论】:

  • 你能提供一个想要的输出示例吗?
  • 我似乎无法编辑我的问题。但所需的输出将类似于我选择结构化我的列表 [" "][" "][" "][" "] [" "][" "][" "][" "] [" " ][" "][" "][" "] [" "][" "][" "][" "]。编辑:显然,你不能在评论部分格式化
  • 如果您知道原始尺寸,您可以使用嵌套 fors 来打印:for i in range(4):
  • 我将不得不为我的井字游戏重复使用我的列表。这就是为什么我需要迭代当前列表而不是简单地进行生成 4x4 括号的迭代
  • 但我会尝试使用它。看看它是否有效

标签: python nested-lists python-3.10


【解决方案1】:

如果您知道原始尺寸,您可以使用嵌套 fors 来打印此内容

for i in range(4):
    for j in range(4):
        print(l1 [ i*4 + j] ,end='')
    print("")

【讨论】:

    【解决方案2】:

    这个怎么样。

    代码

    l1 = [[" "], [" "], [" "], [" "], 
          [" "], [" "], [" "], [" "],
          [" "], [" "], [" "], [" "],
          [" "], [" "], [" "], [" "]]
    
    for i, e in enumerate(l1):
        if (i+1)%4 != 0:
            print(e, end='')  # print box without new line
        else:
            print(e)
    

    输出

    [' '][' '][' '][' ']
    [' '][' '][' '][' ']
    [' '][' '][' '][' ']
    [' '][' '][' '][' ']
    

    【讨论】:

    • 天哪,谢谢。这几乎让我的大脑从沮丧中崩溃了。我会尝试研究你的代码,看看它是如何工作的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    相关资源
    最近更新 更多