我正在开发一个项目,其中包含一个包含dict和int元组的列表。我正在尝试在每个字典中搜索一个名字,但我遇到了一些麻烦。
dicts = [ (somedict, 0), (someOtherDict, 5)]
在我有一个dicts列表之前,我可以轻松地搜索
def search(name):
for d in reversed(dicts):
if name in d: return d[name]
但是现在我有一个元组列表,我不太确定如何搜索字典。任何帮助或建议将不胜感激。我现在很困惑。
答案 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]