比方說,我有一個元組列表: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