[英]how to eliminate checking of alphanumeric character from middle of string python regex
[英]Checking if any character in a string is alphanumeric
我想检查字符串中的任何字符是否为字母数字。 我为此编写了以下代码,它工作正常:
s = input()
temp = any(i.isalnum() for i in s)
print(temp)
我的问题是下面的代码,它与上面的代码有什么不同:
for i in s:
if any(i.isalnum()):
print(True)
for循环迭代仍然在第一个代码中发生,那么为什么不抛出错误呢? 第二个代码抛出:
回溯(最近一次调用最后一次):TypeError中的文件“”,第18行:'bool'对象不可迭代
在第二个函数中,您将any
应用于单个元素,而不是整个列表。 因此,如果字符i
是字母数字,则会得到一个bool元素。
在第二种情况下,当您使用单个元素时,您无法真正使用any
一个。 相反,你可以写:
for i in s:
if i.isalnum():
print(True)
break
哪个更类似于你的第一个案例。
any()
需要一个可迭代的。 这就足够了:
isalnum = False
for i in s:
if i.isalnum():
isalnum = True
break
print(isalnum)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.