相关文章推荐
帅呆的炒粉  ·  pytorch ...·  3 月前    · 

首先需要定义表格的内容,比如以下例子:

table = [    ['Name', 'Age', 'Gender'],
    ['Tom', '23', 'Male'],
    ['Lucy', '19', 'Female'],
    ['Mike', '25', 'Male'],
    ['Jane', '21', 'Female']
  • 定义表格每列的宽度
  • 接下来需要确定每列的宽度,这可以根据列中最长元素的长度来确定,比如:

    col_width = [max(len(item) for item in col) for col in zip(*table)]
    

    此时 col_width 就是每列的最大宽度,以列表形式存储。

    现在可以通过字符串格式化输出表格了,格式化的字符串中,使用 {} 占位符表示需要插入的值,可以使用 : 符号进行进一步的格式化,比如 {:^10} 表示居中对齐,宽度为 10。

    完整的代码如下:

    table = [    ['Name', 'Age', 'Gender'],
        ['Tom', '23', 'Male'],
        ['Lucy', '19', 'Female'],
        ['Mike', '25', 'Male'],
        ['Jane', '21', 'Female']
    col_width = [max(len(item) for item in col) for col in zip(*table)]
    for row in table:
        print('|'.join(item.ljust(width) for item, width in zip(row, col_width)))
    

    输出结果如下:

    Name | Age | Gender
    Tom  | 23  | Male  
    Lucy | 19  | Female
    Mike | 25  | Male  
    Jane | 21  | Female
    

    希望这个示例可以帮助您了解如何在 Python 中输出对齐的表格。如果您有任何进一步的问题,请随时提出。

  •