如何在Python中打印无引号和逗号的网格
网格格式化输出解决方案
你要把元素为字符串的网格(像['0', '0', '0', '0']这种)打印成[0 0 0 0]的格式——去掉引号和逗号,保留方括号,元素用空格分隔。你当前的代码输出是连在一起的0000,可以用以下两种方法解决:
方法1:修改你现有代码的打印逻辑
你的代码已经生成了存储整数0的二维列表vertical,只要调整printgrid函数的打印方式就行:
vertical=[] horizontal=[] size=4 # 你示例里是4行4列,原代码写的size=5,这里改成4更匹配你的需求 def printgrid(): for row in vertical: # 把每行的整数转成字符串,用空格连起来,再套上方括号 print(f"[{' '.join(map(str, row))}]") for j in range(size): for i in range(size): horizontal.append(0) vertical.append(horizontal) horizontal=[] printgrid()
运行后输出:
[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]
方法2:直接处理原始字符串网格
如果你的原始网格是由字符串元素组成的(比如[['0', '0', '0', '0'], ...]),可以直接对每行做格式化:
# 原始字符串网格 grid = [ ['0', '0', '0', '0'], ['0', '0', '0', '0'], ['0', '0', '0', '0'], ['0', '0', '0', '0'] ] for row in grid: # 直接用空格连接字符串元素,再包裹方括号 print(f"[{' '.join(row)}]")
这段代码能直接输出你想要的格式,不用额外把元素转成整数。
内容的提问来源于stack exchange,提问作者RoyalPhrog
相关产品推荐
相关产品推荐

