4

如果我有一本字典,其中的值默认设置为一个列表,我怎么能在字典中的所有这些列表中搜索某个术语?

例如:

textbooks = {"math":("red", "large"), "history":("brown", "old", "small")} 

随着更多的术语和情况可能再次发生相同的事情,我怎么能说找到所有键,其中它们的值是包含“红色”的列表?在上面的示例中,我希望它找到的唯一一个是“数学”。

4

2 回答 2

10
[k for k, v in textbooks.iteritems() if 'red' in v]

它是 Pythonic 的简写

res = []
for key, val in textbooks.iteritems():
    if 'red' in val:
        res.append(key)

请参阅 Python 文档中的列表理解

于 2013-04-20T22:45:25.937 回答
1
[key for key, corresponding_list in textbook.items() if 'red' in corresponding_list]
于 2013-04-20T22:52:15.887 回答