假设我有一个元组列表:
fruits = [('apple','red',23),
('apple','green',12),
('orange','small',12),
('orange','large',1)]
如何快速干净地创建一个新列表,其中包含具有最大数字但水果名称唯一的元组。所以理想的结果是:
fruits = [('apple','red',23),
('orange','small',12)]
我目前的方法是这样的:
def check_fruit(fruit, a_list):
for item in a_list:
if fruit[0] == item[0] and fruit[2] < item[2]:
return False
return True
filtered_list = [fruit for fruit in fruits if check_fruit(fruit, fruits)]
请让我知道是否有更好的方法!谢谢。