以下是一个编写Python 3的过程来列出一个表格的例子:
def print_table(data):
# 确定每列的最大宽度
col_widths = [max(len(str(item)) for item in col) for col in zip(*data)]
# 打印表格标题
print_row(data[0], col_widths)
print('-' * (sum(col_widths) + len(col_widths) * 3 - 1))
# 打印表格内容
for row in data[1:]:
print_row(row, col_widths)
def print_row(row, col_widths):
# 打印一行数据
for item, width in zip(row, col_widths):
print(str(item).ljust(width), end=' | ')
print()
# 示例数据
data = [
["姓名", "年龄", "性别"],
["张三", 25, "男"],
["李四", 30, "男"],
["王五", 28, "女"]
]
# 打印表格
print_table(data)
以上代码定义了一个print_table
函数,接受一个二维列表作为参数,其中每个子列表表示表格中的一行数据。该函数首先计算每列的最大宽度,然后打印表格标题和表格内容。print_row
函数用于打印表格的每一行数据。
运行以上代码将输出以下结果:
姓名 | 年龄 | 性别
-----------------
张三 | 25 | 男
李四 | 30 | 男
王五 | 28 | 女
这个例子中,表格包含3列,第一行是表格的标题,后面的行是表格的内容。每列的宽度根据该列中最长元素的长度确定。每个元素都使用ljust
方法进行左对齐,并在元素之间添加分隔符。