2013-09-27 104 views
0
strSpecialChars=['%', 'dBu', 'dB', 'kHz', 'Hz'] 
str = "-20.0dB" 

我需要得到True这里,因为它会检查列表中的每个项目的列表中的每个项目 - strSpecialChars字符串str英寸如何找到一个字符串

+2

['any()'](http://docs.python.org/2/library/functions.html#any) – TerryA

回答

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

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

+0

谢谢。它的工作:) –

2

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

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

,我改名stryourstr以避免掩盖内置型。

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

你可以在这里使用str.endswith()

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

到比赛仅限制于那些年底与任何特殊字符。

+0

谢谢。有效 :) –

相关问题