簡體   English   中英

檢查字符串中的任何字符是否為字母數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM