Python查找并返回列表

时间:2016-03-29 12:17:28

标签: python list

我有一个包含+/- 2,000个条目的列表。

List = [('911', 'Line10', 'Pol87'),
        ('4568', 'Line289', 'Pol022'),
        ('4522', 'Line83', 'Pol45')]

需要获得所述第一细胞的期望值 由

>>>line = search_line(911)
Line10

>>>Pol = search_Pol(4522)
Pol45

可以快速处理多个呼叫但没有功能?

2 个答案:

答案 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