列表返回一個特定的字典。如果我有下面的代碼從類型的字典
attributes = []
attributes.append({'attribute': 'noir', 'group': 'coloris', 'id': '8'})
attributes.append({'attribute': 's', 'group': 'taille_textile', 'id': '29'})
attributes.append({'attribute': 'm', 'group': 'taille_textile', 'id': '24'})
attributes.append({'attribute': 'l', 'group': 'taille_textile', 'id': '25'})
attributes.append({'attribute': 'xl', 'group': 'taille_textile', 'id': '26'})
,我想回到含有一定的ID名單,這將是做到這一點的最好辦法的對象?
我知道,一個解決辦法是使用for
循環這樣
def getItemById(id):
for i in attributes:
for k,v in i.items():
if (k == 'id' and v == id):
return i
我敢肯定,必須有一個更優雅的或有效的方式做到這一點比這等?
這裏有沒有機會使用lambdas?這會給業績帶來好處嗎?
如果你通過'id'訪問,爲什麼把它們放在一個列表中,而不是一個字典** keyed **'id'? – jonrsharpe
http://stackoverflow.com/q/8653516/403554 –