從一個名爲元組的列表中的條目我有namedtuples
一個list
如下的Python:如果包含特定屬性值
fruits = Fruits['type', 'color', 'weight', 'sweetness']
f1 = fruits('apple', 'red', 1.89, 5)
f1 = fruits('pear', 'green', 2.89, 7)
f1 = fruits('banana', 'yellow', 2.01, 10)
l = [f1, f2, f3]
現在,我想有從列表中返回一個特定namedtuple
功能給出type
。我使用for循環編寫了這個函數,但它可以做得更好(更快還是沒有for循環)?
def take_fruit(type, all_fruits):
for f in all_fruits:
if f.type == type:
return f
return None
'next((f for all_fruits if for f.type == type),None)'但不知道它是否更快。 –
有幾種方法可以做到這一點,但我認爲沒有比您的變體更快的方法。 如果你想擺脫循環,你可以使用'過濾器'或列表理解。 – Zinki