sales = ( ("Peter", (78, 70, 65)), ("John", (88, 80, 85)), ("Tony", (90, 99, 95)), ("Henry", (80, 70, 55)), ("Mike", (95, 90, 95)) )
# 求和并转成列表常规写法: top_sales = [] for name, amount in sales: total_amount = sum(amount) top_sales.append((name, total_amount)) top_sales.sort(key=lambda x:x[1], reverse=True) print(top_sales) # 列表表达式写法: top_sales = [(name, sum(amount))for name, amount in sales] top_sales.sort(key=lambda x:x[1], reverse=True) print(top_sales) 都能得到下面结果: [('Peter', 213), ('John', 253), ('Tony', 284), ('Henry', 205), ('Mike', 280)]