在Python中打印列对齐的表可以使用字符串的格式化功能来实现。下面是一个示例代码:
data = [
["Name", "Age", "Country"],
["John", "25", "USA"],
["Alice", "30", "Canada"],
["Bob", "20", "UK"]
]
# 计算每列的最大宽度
column_widths = [max(len(str(item)) for item in column) for column in zip(*data)]
# 打印表头
for i, column_name in enumerate(data[0]):
print(f"{column_name:{column_widths[i]}}", end=" | ")
print()
# 打印分隔线
for width in column_widths:
print("-" * width, end=" | ")
print()
# 打印数据行
for row in data[1:]:
for i, item in enumerate(row):
print(f"{item:{column_widths[i]}}", end=" | ")
print()
这段代码会输出一个对齐的表格,如下所示:
Name | Age | Country
------ | ---- | --------
John | 25 | USA
Alice | 30 | Canada
Bob | 20 | UK
在这个例子中,我们使用了Python的格式化字符串功能(f-string)来实现列对齐。首先,我们计算了每列的最大宽度,然后使用{}
占位符和冒号后面的对齐格式来指定每列的宽度。最后,使用循环打印表头、分隔线和数据行。
这种方法可以适用于任意数量的列和任意长度的数据。你可以根据实际情况修改数据列表data
来打印不同的表格。
领取专属 10元无门槛券
手把手带您无忧上云