如何扩展“in”测试?
问题的原因是希望在一个'in'测试中扩展测试条件,即希望在一个字符串中同时判断多个子字符串是否存在。
解决方法是使用内置函数any
,结合生成式(comprehension)来实现。
具体的解决方法是,使用生成式来遍历待测试的字符串,并在生成式中使用'in'测试来判断字符串中是否包含指定的子字符串。然后将生成式作为参数传递给any
函数,any
函数会返回一个布尔值,表示是否存在满足条件的子字符串。
下面是一个示例,演示了如何使用any
函数和生成式来判断一个字符串中是否同时存在多个子字符串:
>>> x = 'Hello World' >>> any(i in x for i in ('rl', 'ld')) True
以上代码中,字符串x为'Hello World',生成式i in x for i in ('rl', 'ld')
会遍历字符串x,并判断是否存在子字符串'rl'和'ld'。any
函数会返回True,表示字符串x中同时存在'rl'和'ld'。
对于这个问题,另一个用户提到了在问题被标记为重复后如何回答,他解释说他在问题被标记为重复前就开始回答了。