如何在Python中实现多列内容并排打印?
如何将列表中带换行的字符串按行分组输出?
原代码:
x = ["Apple\napple", "Orange\norange", "Banana\nbanana"] for i in x: print(i, end = " ")
当前输出:
Apple apple Orange orange Banana banana
目标输出:
Apple Orange Banana apple orange banana
方案一:拆分元素并分别收集行内容
x = ["Apple\napple", "Orange\norange", "Banana\nbanana"] first_line = [] second_line = [] for item in x: # 拆分每个字符串为上下两部分 upper, lower = item.split('\n') first_line.append(upper) second_line.append(lower) # 用空格连接同一行的元素并打印 print(' '.join(first_line)) print(' '.join(second_line))
方案二:用zip转置实现简洁写法
x = ["Apple\napple", "Orange\norange", "Banana\nbanana"] # 将每个元素拆分为两行,再转置列表结构 lines = list(zip(*[item.split('\n') for item in x])) # 遍历转置后的每组内容,连接打印 for line in lines: print(' '.join(line))
说明
两种方法核心逻辑一致:先把每个带换行的字符串拆成独立两行,再将所有首行、次行分别归组,最后用空格连接每组元素并打印,即可实现目标对齐格式。
内容的提问来源于stack exchange,提问作者Ayman Almankkadhi
相关产品推荐
相关产品推荐

