Vérifier si un caractère dans une chaîne alphanumérique

Je veux vérifier si un caractère dans une chaîne alphanumérique. J'ai écrit le code suivant pour que ça fonctionne:

s = input()

temp = any(i.isalnum() for i in s)
print(temp)

La question que j'ai est le code ci-dessous, comment est-il différent du code ci-dessus:

for i in s:
    if any(i.isalnum()):
        print(True)

L'itération de boucle est encore en cours dans le premier code, alors pourquoi n'est-il pas de lancer une erreur? Le deuxième code lance:

Traceback (most recent call last):
Fichier "", ligne 18, dans
TypeError: 'bool' objet n'est pas itératif

  • Le any déclaration a une portée différente dans les deux fonctions. Dans le second cas, vous appliquez any à un seul élément.