我有一個列表形式的數據,有一些鍵和值(下面的例子是兩個鍵/值,可能會有更多):如何基於來自同一元素的另一個值在dict列表中搜索元素的值?
我想pythonically回答這個問題:什麼是john
的age
?
我現在使用的簡單解決方案是遍歷列表並檢查名稱的匹配值。是否有更多pythonic方式來實現相同?
data = [
{
'name': 'john',
'age': 10
},
{
'name': 'paul',
'age': 20
}
]
age = -1 # in case the name is not found
for d in data:
if d['name'] == 'john':
age = d['age']
print(age)
否;除非你可以重新安排一個字典'{'john':10,...}'(然後它只是'age = d.get('john',-1)'),就像你可以得到它一樣簡單。不過,'break'會改善運行時間。 – jonrsharpe
可能的重複http://stackoverflow.com/questions/8534256/find-first-element-in-a-sequence-that-matches-a-predicate –