我想检查字符串中的任何字符是否是字母数字。我为此编写了以下代码并且运行良好:
s = input()
temp = any(i.isalnum() for i in s)
print(temp)
我的问题是下面的代码,它与上面的代码有什么不同:
for i in s:
if any(i.isalnum()):
print(True)
第一个代码中仍然发生 for 循环迭代,那么为什么它没有抛出错误呢?第二个代码抛出:
回溯(最近一次调用最后一次):
文件“”,第 18 行,位于
类型错误:“bool”对象不可迭代
在你的第二个函数中你应用any
到单个元素而不是整个列表。因此,您将得到一个布尔元素 if 字符i
是字母数字。
在第二种情况下你不能真正使用any
当您处理单个元素时。相反,你可以写:
for i in s:
if i.isalnum():
print(True)
break
这将与您的第一个案例更相似。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)