如何检查列表元素是否存在于字符串中?代码调试求助
问题解决:检查列表元素是否存在于字符串中
你的代码问题出在any(prac)的用法上:
any(prac)会判断列表里是否有真值(非空字符串都是真值),所以这里它直接返回True- 之后你是在判断
True in list(password),也就是True in ['B'],这显然不成立,所以没有输出。
正确的写法应该是用any()遍历列表元素,逐个检查是否在字符串里:
password = "B" prac = ['A', 'B'] if any(item in password for item in prac): print("yes")
也可以用集合的交集来实现,效率更高(适合元素较多的场景):
password = "B" prac = ['A', 'B'] if set(prac) & set(password): print("yes")
这两种写法都会输出预期的yes。
内容的提问来源于stack exchange,提问作者Scott Carr
相关产品推荐
相关产品推荐

