要实现自动缩进二维数组的功能,你可以使用以下代码示例:
def print_table(arr):
max_lengths = [max(map(len, col)) for col in zip(*arr)] # 计算每列的最大长度
for row in arr:
print(' | '.join(cell.ljust(length) for cell, length in zip(row, max_lengths)))
print('-' * (sum(max_lengths) + 3 * len(max_lengths) - 1))
使用上述代码,你可以将二维数组作为参数传递给print_table
函数,它将自动缩进数组并以表格形式打印出来。每列的宽度将根据列中最长的单元格自动调整。
以下是一个示例,演示如何使用该函数打印一个二维数组:
arr = [['Name', 'Age', 'Country'],
['John Doe', '25', 'USA'],
['Jane Smith', '30', 'Canada'],
['Bob Johnson', '35', 'Australia']]
print_table(arr)
运行上述代码将输出以下结果:
Name | Age | Country
---------------------------
John Doe | 25 | USA
---------------------------
Jane Smith | 30 | Canada
---------------------------
Bob Johnson | 35 | Australia
你可以根据需要调整代码,例如添加对空数组或不同数据类型的处理逻辑。