在Python中使用分隔符打印表的最佳方法是使用str.join()
方法和列表推导式。首先,将表中的每一行转换为字符串,并用分隔符连接它们。然后,用换行符(\n
)连接所有行。这是一个示例:
table_data = [
['姓名', '年龄', '城市'],
['张三', '25', '北京'],
['李四', '30', '上海'],
['王五', '22', '广州']
]
def print_table(table_data, separator='|'):
# 获取最大宽度
column_widths = [max(len(str(cell)) for cell in column) for column in zip(*table_data)]
# 生成分隔符行
separator_row = separator.join(['-' * (width + 2) for width in column_widths])
# 生成表格行
table_rows = []
for row in table_data:
formatted_row = separator.join([str(cell).ljust(width + 1) for cell, width in zip(row, column_widths)])
table_rows.append(formatted_row)
# 打印表格
print('\n'.join([separator_row] + table_rows + [separator_row]))
print_table(table_data)
这将输出:
+-----+-----+------+
| 姓名 | 年龄 | 城市 |
+-----+-----+------+
| 张三 | 25 | 北京 |
| 李四 | 30 | 上海 |
| 王五 | 22 | 广州 |
+-----+-----+------+
在这个示例中,我们使用|
作为分隔符,但您可以根据需要更改它。
领取专属 10元无门槛券
手把手带您无忧上云