需要有关 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
我有这个示例数据。
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