Python遍历二维列表print输出出现多余换行,如何实现预期同行打印效果?
Python print无多余换行调整方案
Python 内置print()函数默认会在输出内容末尾追加换行符\n,这是你现有代码每个元素单独占一行的核心原因,同时每行结束额外调用的print("\n")会多插入一次空行,不符合预期输出要求。
你可以通过修改print的end参数实现需求,调整后的代码如下:
table = [[False,False,False,False,False], [False,False,True,False,True]] #not changes------------------ for lines in table: for item in lines: # 打印元素时指定end为空,避免每次打印自动换行 print("%s " % item, end='') # 整行元素打印完成后再换行 print() #-----------------------------
如果需要保留制表符分隔而不是空格,把格式串中的"%s "替换为"%s\t"即可。
- 更简洁的实现(无需嵌套循环):
for line in table: print(' '.join(map(str, line)))
该写法先将每行的布尔值转为字符串,用空格拼接后一次性打印,输出效果完全匹配预期。
内容的提问来源于stack exchange,提问作者Huy
相关产品推荐
相关产品推荐

