以下是一个示例代码,用于按两列相等的方式列出一个表:
table_data = [
['Name', 'Age'],
['John', 30],
['Alice', 25],
['Bob', 35]
]
# 找到每列的最长字符串长度
col_width = [max(len(str(item)) for item in col) for col in zip(*table_data)]
# 打印表头
for header, width in zip(table_data[0], col_width):
print(f'{header:{width}}', end=' ')
print()
# 打印分隔线
for width in col_width:
print(f'{"-" * width}', end=' ')
print()
# 打印每一行数据
for row in table_data[1:]:
for item, width in zip(row, col_width):
print(f'{item:{width}}', end=' ')
print()
输出结果为:
Name Age
---- ----
John 30
Alice 25
Bob 35
这个示例代码首先找到了每列的最长字符串长度,然后按照最长长度来格式化打印表头、分隔线和每一行的数据。使用了 zip()
函数来同时遍历每一列的数据。
上一篇:按两列日期顺序找出第N次出现
下一篇:按两列选择唯一行