繁体   English   中英

如何打印出元组列表?

[英]How to print out a list of tuple?

这是我的代码:

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()中改变浮点数、名称、字母的顺序,格式为"{:<20s}{:>8s}{:>16s}" 在此处输入图片说明

只需遍历列表元素并对其进行格式化。 您可以使用元组解包来重新排序元素。

for score, player, letter in points_per_game(master_list):
    print("{:<20s}{:>8s}{:>16.2f}".format(player, letter, score))

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

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

formatter = lambda tup: "{:<20s}{:>8s}{:>16s}".format(*map(str, tup))
print('\n'.join(map(formatter, your_tuple_list)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM