Python 如何打印元组列表?

Python 如何打印元组列表?,python,python-3.x,list,tuples,Python,Python 3.x,List,Tuples,这是我的代码: def points_per_game(master_list): container1= [] for line in master_list: container1.append((float(line[18]),line[0],line[2])) container1.sort(reverse=True) container1 = container1[:10] return container1 我的代码的输出是一个元组列表: [(1.92, 'Wayne Gr

这是我的代码:

def points_per_game(master_list):
container1= []
for line in master_list:
    container1.append((float(line[18]),line[0],line[2]))
container1.sort(reverse=True)
container1 = container1[:10]
return container1
我的代码的输出是一个元组列表:

[(1.92, 'Wayne Gretzky', 'C'), (1.88, 'Mario Lemieux', 'C'), (1.5, 'Mike Bossy', 'R'), (1.4, 'Joe Malone', 'C'), (1.39, 'Bobby Orr', 'D'), (1.33, 'Connor McDavid', 'C'), (1.31, 'Marcel Dionne', 'C'), (1.28, 'Sidney Crosby', 'C'), (1.27, 'Peter Stastny', 'C'), (1.25, 'Peter Forsberg', 'C')]
如何使用main()中的格式
“{:8s}{:>16s}”
将列表转换为下图,更改浮点数、名称和字母的顺序?

只需在列表元素上循环并格式化即可。可以使用元组解包对元素重新排序

for score, player, letter in points_per_game(master_list):
    print("{:<20s}{:>8s}{:>16.2f}".format(player, letter, score))
对于每场比赛的分数、玩家、字母(主列表):
打印(“{:8s}{:>16.2f}”。格式(播放器、字母、分数))

您需要对
float
分数使用
f
格式,并且您可以使用
.2
指定小数点后的两位数字。

您可以在函数中传递格式,并使用
map
打印(无循环替代)

formatter=lambda tup:“{:8s}{:>16s}”。格式(*map(str,tup))
打印('\n'.join(映射(格式化程序、元组列表)))

我现在拿到了。非常感谢你!
formatter = lambda tup: "{:<20s}{:>8s}{:>16s}".format(*map(str, tup))
print('\n'.join(map(formatter, your_tuple_list)))