如何将二维列表存储的字符数据在终端输出为无空格ASCII图形?
问题原因
- 你第二次逐元素打印出现多余空格,是因为Python的
print()函数传入多个位置参数时,默认会在参数之间插入空格作为分隔符。 - 你当前写的索引是按列取数,哪怕解决了空格问题,输出结果也会和预期的行列顺序相反。
解决方案
最简洁的通用写法
直接遍历列表的每一行,用str.join()方法把每行的字符拼接为完整字符串后打印,这种写法适配任意尺寸的二维字符列表:
for row in a: print(''.join(row))
如果你想沿用手动指定索引的写法
可以选择下面两种修改方式:
- 方法1:先把同一行的字符拼接为字符串再传入
print()
print(a[0][0] + a[0][1] + a[0][2]) print(a[1][0] + a[1][1] + a[1][2]) print(a[2][0] + a[2][1] + a[2][2])
- 方法2:修改
print()的sep参数,将默认的空格分隔符改为空字符串
print(a[0][0], a[0][1], a[0][2], sep='') print(a[1][0], a[1][1], a[1][2], sep='') print(a[2][0], a[2][1], a[2][2], sep='')
内容的提问来源于stack exchange,提问作者Georg
相关产品推荐
相关产品推荐

