字典和整数元组的列表,如何搜索每个字典

时间:2012-11-24 20:53:32

标签: python

我正在开发一个项目,其中包含一个包含dict和int元组的列表。我正在尝试在每个字典中搜索一个名字,但我遇到了一些麻烦。

dicts = [ (somedict, 0), (someOtherDict, 5)]

在我有一个dicts列表之前,我可以轻松地搜索

def search(name):
    for d in reversed(dicts):
        if name in d: return d[name]

但是现在我有一个元组列表,我不太确定如何搜索字典。任何帮助或建议将不胜感激。我现在很困惑。

2 个答案:

答案 0 :(得分:3)

只需使用生成器表达式来获取你的词汇:

def search(name):
    for d in (t[0] for t in dicts):
        if name in d: return d[name]

或者你可以使用元组赋值:

def search(name):
    for d, _ in dicts:
        if name in d: return d[name]

但是假设你的所有元组都有2个值。

答案 1 :(得分:0)

你需要将结果列举为使用0枚举dicts,因为这是你的dict在dict / int元组中的位置。

def search(name):
    for d in reversed(dicts):
        if name in d[0]: return d[0][name]