strSpecialChars=['%', 'dBu', 'dB', 'kHz', 'Hz']
str = "-20.0dB"
我需要在此处获取True
,因为它会在字符串strSpecialChars
中检查列表中的每个项目str
。
答案 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
转换输出才能真正看到它。