You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中实现两个列表并排打印的完美对齐?

实现两个列表的对齐并排打印

要实现你想要的对齐效果,核心是利用字符串格式化来控制每一行的宽度,确保左侧内容占据固定宽度后,右侧内容能整齐排列。下面是具体的实现代码,完全不需要表格类模块:

list1 = [(15, 'dog'), (10, 'leopard'), (5, 'bird')]
list2 = [(20, 'table'), (23, 'PC'), (13, 'TV')]

# 第一步:把每个元组转换成目标格式的字符串
left_lines = [f"{name} Freq --> {freq}" for freq, name in list1]
right_lines = [f"{name} Freq --> {freq}" for freq, name in list2]

# 第二步:计算左侧内容的最大宽度(包含表头"List1:"的长度)
max_left_width = max(len("List1:"), max(len(line) for line in left_lines))

# 第三步:打印表头
print(f"List1:{' '*(max_left_width - len('List1:'))}    List2:")

# 第四步:逐行打印对齐的内容
for left, right in zip(left_lines, right_lines):
    # 把左侧内容填充到最大宽度,然后添加分隔空格,再拼接右侧内容
    print(f"{left.ljust(max_left_width)}    {right}")

代码细节说明:

  • ljust(max_left_width):将左侧字符串向左对齐,并自动填充空格到指定的max_left_width长度,确保每一行左侧都占据相同宽度,从根源避免排版混乱。
  • 计算max_left_width时包含表头长度,是为了让表头的"List1:"和下方的内容右边缘对齐,保证整体排版的一致性。
  • 如果两个列表长度不一致,可以用itertools.zip_longest来处理缺失的行,比如给空行填充占位符(比如"-"),避免出现截断问题。

运行这段代码后,就能得到你想要的完美对齐效果:

List1:        List2:
dog Freq --> 15    table Freq --> 20
leopard Freq --> 10    PC Freq --> 23
bird Freq --> 5    TV Freq --> 13

内容的提问来源于stack exchange,提问作者Giacomo Cerretini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:59:28