[英]sliced list encapsulated in “tuple”, how to get list elems out and print?
[英]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.