需要有关 Python 中的嵌套循环和字典的帮助以显示表格数据

Need assistance with Nested Loops and Dictionary in Python to display tabular data

我有这个示例数据。

table_data = {
    "name": ['avery','john', 'jonas', 'jordan', 'terry', 'jared', 'evan'],
    "number": [0, 3, 8, 6, 12, 7, 11],
    "position": ['pg', 'sg', 'pf', 'pf', 'pg', 'c', 'sg'],
    "age": [25, 27, 29, 21, 22, 31, 27],
    "team": ['boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic', ],
            }

我想以表格形式显示此数据,标题如 this picture,当然没有 table 边框。

为此,我使用了以下代码:

for items in table_data:
    i = 0
    while i <= len(table_data['name']):
        print(table_data['name'][i],
              table_data['age'][i],
              table_data['position'][i],
              table_data['team'][i],
              table_data['number'][i],)
        i += 1
    print()

它给了我这个输出:

john 27 sg boston celtic 3
jonas 29 pf boston celtic 8
jordan 21 pf boston celtic 6
terry 22 pg boston celtic 12
jared 31 c boston celtic 7
evan 27 sg boston celtic 11

在我结束之前,我想让你知道我对字典和嵌套循环都不是很擅长,我尽可能避免使用这两种方法。 PS - 用于学习目的。

提前致谢。

你的代码给了我一些错误,修正了那些。

table_data = {
    "name": ['avery','john', 'jonas', 'jordan', 'terry', 'jared', 'evan'],
    "age": [25, 27, 29, 21, 22, 31, 27],
    "position": ['pg', 'sg', 'pf', 'pf', 'pg', 'c', 'sg'],
    "team": ['boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic', ],
    "number": [0, 3, 8, 6, 12, 7, 11]
            }
i = 0
while i < len(table_data):
    row = ""
    for k in table_data:
        row += f"{table_data[k][i]}\t"
    print(row)
    i += 1

我想这就是您要找的东西。

所以这就是我要做的事情:

table_data = {
    "name": ['avery', 'john', 'jonas', 'jordan', 'terry', 'jared', 'evan'],
    "number": [0, 3, 8, 6, 12, 7, 11],
    "position": ['pg', 'sg', 'pf', 'pf', 'pg', 'c', 'sg'],
    "age": [25, 27, 29, 21, 22, 31, 27],
    "team": ['boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic',
             'boston celtic', ],
}

for i in table_data["name"]:
    pos = table_data["name"].index(i)
    print(f"""{i}\t{table_data["age"][pos]}\t{table_data["position"][pos]}\t{table_data["team"][pos]}\t{table_data["number"][pos]}""")

输出:

avery   25  pg  boston celtic   0
john    27  sg  boston celtic   3
jonas   29  pf  boston celtic   8
jordan  21  pf  boston celtic   6
terry   22  pg  boston celtic   12
jared   31  c   boston celtic   7
evan    27  sg  boston celtic   11