我有一个包含+/- 2,000个条目的列表。
List = [('911', 'Line10', 'Pol87'),
('4568', 'Line289', 'Pol022'),
('4522', 'Line83', 'Pol45')]
需要获得所述第一细胞的期望值 由
>>>line = search_line(911)
Line10
>>>Pol = search_Pol(4522)
Pol45
可以快速处理多个呼叫但没有功能?
答案 0 :(得分:1)
简单的列表理解就足以获得所有值:
>>> List = [('911', 'Line10', 'Pol87'),
... ('4568', 'Line289', 'Pol022'),
... ('4522', 'Line83', 'Pol45')]
>>> [t[1] for t in List if t[0]=='911']
['Line10']
>>> [t[2] for t in List if t[0]=='4522']
['Pol45']
>>>
答案 1 :(得分:0)
最简单的方法:
>>> lst = [('911', 'Line10', 'Pol87'), ('4568', 'Line289', 'Pol022'), ('4522', 'Line83', 'Pol45')]
>>> filter(lambda x: x[0] == '911', lst)[0][1]
'Line10'
或者:
def search_line(lst, key):
for item in lst:
if item[0] == key:
return item[1]
print search_line(lst, '911')
<强>输出:强>
Line10