比方说,我有一个元组列表:Python的筛选器列表项相互
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)]
请让我知道如果有一个更好的办法!谢谢。
是否顺序的结果出现问题? – NPE
你的'fruits'列表是否已经按水果分类? –
是的,它已经按水果名称排序了,我希望理想的结果是按照相同的顺序。 – dougalg