Python:在包含子字符串的字典中查找(字符串)键

时间:2010-07-15 05:04:35

标签: python data-structures dictionary

在我的脚本中,我构建了一个映射到艺术家(值)的键(专辑)字典,以便我可以快速查找艺术家制作了哪些专辑。但是,我希望用户能够找到包含子字符串的所有专辑。例如,搜索“Light”应返回

[Light Chasers] = Cloud Cult以及[Night Light] = Au Revoir Simone

最好的方法是什么?我甚至应该使用字典吗?

2 个答案:

答案 0 :(得分:21)

[(k, v) for (k, v) in D.iteritems() if 'Light' in k]

答案 1 :(得分:0)

如果你只需要包含文字的第一张专辑,这里有一个快捷方式:

try:
    return ('[%s] = %s' % (k, D.get(k)) for k in D if search_string.lower().strip() in k.lower()).next()
except StopIteration:
    return 'No matches found'