Site de référence: [Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
python a diverses syntaxes et opérateurs qui rendent le codage plus court et plus facile que dans d'autres langages. Cette fois, je vais expliquer dans, qui est utilisé à divers endroits parmi de nombreux opérateurs Python.
L'opérateur in est un opérateur pour vérifier si un élément avec une valeur spécifique existe dans une liste ou un taple. La syntaxe de base de l'opérateur in est la suivante.
Élément spécifié dans la liste
La partie de la liste est la même pour le type tapple et dictionnaire. L'opérateur in vérifie si l'élément spécifié existe dans une liste ou un taple, renvoie True s'il existe et False s'il n'existe pas.
list1 = ['tanaka', 'satou', 'suzuki', 'kimura']
print('tanaka' in list1)
print('takenaka' in list1)
Résultat d'exécution
True False
Dans cet exemple, nous vérifions s'il y a une personne avec le nom spécifié dans la liste des noms. "Tanaka" est dans la liste, donc True est retourné, et "prisaka" n'est pas dans la liste, donc False est retourné.
L'opérateur in peut également être utilisé pour les tapples et les dictionnaires.
tuple1 = ('tanaka', 'satou', 'suzuki', 'kimura')
dict1 = {'tanaka':21, 'satou':45, 'suzuki':19, 'kimura':67}
print('tanaka' in tuple1)
print('takenaka' in tuple1)
print('suzuki' in dict1)
print('suzumura' in dict1)
Résultat d'exécution
True False True False
Même dans le cas de type tapple ou dictionnaire, il peut être utilisé de la même manière que dans le cas de list. Cependant, dans le cas du type dictionnaire, c'est une confirmation de l'existence de la clé spécifiée. Notez que même si l'élément spécifié est dans la valeur, False est renvoyé s'il n'est pas dans la clé.
dict2 = {'tanaka':'tarou', 'suzuki':'zirou'}
print('tarou' in dict2)
Résultat d'exécution
False
En Python, l'instruction for utilise également l'opérateur in. In dans l'instruction for fonctionne pour extraire les éléments un par un des listes et des taples.
list1 = ['tanaka', 'satou', 'suzuki', 'kimura']
for name in list1:
print(name)
Résultat d'exécution
tanaka satou suzuki kimura
Dans cet exemple, les éléments sont extraits un par un de la liste. Le même résultat peut être obtenu avec le tapple. Cependant, dans le cas d'un dictionnaire, la clé est généralement récupérée.
dict1 = {'tanaka':21, 'satou':45, 'suzuki':19, 'kimura':67}
for name in dict1:
print('{0}:{1}'.format(name, dict1[name])) #Afficher la valeur à l'aide de la clé extraite
Résultat d'exécution
tanaka:21 suzuki:19 satou:45 kimura:67
Utilisez les valeurs de type dictionnaire () et items () pour récupérer les valeurs du dictionnaire ou les clés et les valeurs dans l'instruction for.
dict1 = {'tanaka':21, 'satou':45, 'suzuki':19, 'kimura':67}
#Extraire uniquement la valeur
for age in dict1.values():
print(age)
#Récupération des clés et des valeurs
for item in dict1.items():
print(item)
Résultat d'exécution
19 45 21 67 (‘suzuki’, 19) (‘satou’, 45) (‘tanaka’, 21) (‘kimura’, 67)
Il existe un opérateur not in, qui est très similaire à l'opérateur in. L'opérateur in a renvoyé True si l'élément que vous recherchiez était dans une liste ou taple, False si ce n'était pas le cas. L'opérateur not in, comme son nom l'indique, renvoie True s'il n'existe pas et False s'il existe.
list1 = ['tanaka', 'satou', 'suzuki', 'kimura']
print('tanaka' not in list1)
print('takenaka' not in list1)
Résultat d'exécution
False True
Le listing 1 a le nom "tanaka", donc l'opérateur not in retourne False, et il n'y a pas de nom "prisaka", donc l'opérateur not in retourne True. Les deux in et pas in se comportent de la même manière, mais utilisez l'opérateur in pour confirmer "l'existence" et l'opérateur pas in pour confirmer la "non-existence".
En utilisant l'opérateur in, j'ai pu vérifier si l'élément existe dans une liste ou un taple. Cependant, même s'il est connu, il ne sait pas où il se trouve dans la liste. Dans ce cas, utilisez la fonction index. La syntaxe de base de la fonction d'index est la suivante.
liste.index(L'élément que vous voulez trouver)
Vous pouvez utiliser la fonction index pour connaître la position de l'élément que vous recherchez dans la liste. Si l'élément ne peut pas être trouvé, la fonction d'index générera une ValueError, il est donc possible d'utiliser la fonction d'index en toute sécurité après avoir confirmé qu'elle existe à l'aide de l'opérateur in.
list1 = ['tanaka', 'satou', 'suzuki', 'kimura']
name_index = 0
name = 'suzuki'
if(name in list1):
name_index = list1.index(name)
print('{0}Est{1}La seconde existe'.format(name, name_index))
Résultat d'exécution
suzuki existe en second
Dans cet exemple, l'index de l'élément spécifié (nom) est récupéré uniquement lorsqu'il existe. Cela empêchera la fonction d'index de déclencher une ValueError.
Bien sûr, vous pouvez utiliser la fonction d'index seule après avoir géré les exceptions, mais c'est plus facile que de gérer les exceptions.
Recommended Posts