Python 元组列表中的高效搜索

Python 元组列表中的高效搜索,python,string,list,Python,String,List,我想搜索一个列表,如果找到它的补充 例如: 输出 # u'a' 我知道这一点: def search_adjunct(search) for item in list: if item[0] == search: return item[1] return search 有人知道另一种简单而有效的方法来做到这一点?如下: l = [('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'd')] d = d

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

例如:

输出

# u'a'
我知道这一点:

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

有人知道另一种简单而有效的方法来做到这一点?

如下:

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
如果生成器为空,则返回第二个参数(无)

如果第一项是唯一且可哈希的,则将其转换为字典。使用
d.get('1')
。如果密钥不存在,则返回None。
next((item[1] for item in l if item[0] == search), None)