在元组列表中高效搜索

时间:2014-03-06 19:03:41

标签: python string list

我想搜索一个列表,如果找到它的补充

E.g:

l = [('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'd')]


get_adjunct('1')

输出

# u'a'

我知道这一点:

def search_adjunct(search)
    for item in list:
        if item[0] == search:
            return item[1]
    return search

有人知道其他一种简单有效的方法吗?

1 个答案:

答案 0 :(得分:1)

以下内容:

l = [('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'd')]
d = dict(l)
d['1']
# 'a'

没有dict,发电机会给你:

next((item[1] for item in l if item[0] == search), None)
如果生成器为空,

next返回第二个参数(None)