如何在字符串中查找列表中的每个项目

时间:2013-09-27 07:04:50

标签: python

strSpecialChars=['%', 'dBu', 'dB', 'kHz', 'Hz']
str = "-20.0dB"

我需要在此处获取True,因为它会在字符串strSpecialChars中检查列表中的每个项目str

2 个答案:

答案 0 :(得分:2)

使用any() function测试每个值:

>>> strSpecialChars=['%', 'dBu', 'dB', 'kHz', 'Hz']
>>> yourstr = "-20.0dB"
>>> any(s in yourstr for s in strSpecialChars)
True

我将str重命名为yourstr,以避免屏蔽内置类型。

any()只会提升传递给它的生成器表达式,直到返回True值为止;这意味着只有前3个选项针对您的示例进行了测试。

您可以在此处使用str.endswith()

any(yourstr.endswith(s) for s in strSpecialChars)

将匹配仅限于结束与任何特殊字符的匹配。

答案 1 :(得分:0)

map(lambda s: s in "-20.0dB", strSpecialChars)

您可能需要通过list转换输出才能真正看到它。