Site de référence: [Introduction à Python] Utilisons foreach avec Python
Foreach est une déclaration répétitive qui est souvent utilisée dans les langages de script. Il est très souvent utilisé lorsque vous souhaitez extraire le contenu d'un tableau et le traiter à plusieurs reprises. Lors de l'utilisation d'un langage de script, il est souvent souhaitable d'avoir un processus uniforme, donc si vous pouvez maîtriser des phrases répétitives, la faisabilité s'améliorera certainement.
Tout d'abord, écrivons une petite instruction foreach en perl, qui est un langage de script typique.
my @sports = ("baseball", "tennis", "soccer", "volleyball");
foreach my $name (@sports){
print "$name\n"
}
$ perl foreach.pl
baseball
tennis
soccer
volleyball
Dans l'instruction foreach, nous accédons à partir du premier du tableau appelé sports et continuons à afficher les éléments jusqu'à ce que nous atteignions le dernier élément.
table des matières 1 [Essayons foreach avec python](Essayons foreach avec python) 2 [Conseils de la déclaration For: Maîtrisez une utilisation plus pratique avec le sentiment de foreach](Conseils de la déclaration For: Maîtrisez une utilisation plus pratique avec le sentiment de foreach) 2.1 [Je veux afficher le contenu du tableau dans l'ordre inverse](je veux afficher le contenu du tableau dans l'ordre inverse) 2.2 [Je veux afficher le contenu du tableau dans l'ordre croissant](je veux afficher le contenu du tableau dans l'ordre croissant) 2.3 [Je veux afficher le contenu du tableau dans l'ordre décroissant](je veux afficher le contenu du tableau dans l'ordre décroissant) 2.4 [Je veux connaître le numéro d'élément](Je veux connaître le numéro d'élément)]
Maintenant, essayons foreach avec python! Cela dit, python n'a pas réellement de fonction nommée foreach. Alors, que faire, c'est que l'instruction for prend le relais.
Écrivons-le concrètement.
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for name in sports:
... print name
...
baseball
tennis
soccer
volleyball
De cette façon, vous pouvez exécuter des instructions répétées en python avec presque la même description que foreach.
Si vous souhaitez afficher le contenu du tableau dans l'ordre inverse avec le langage de script tel que perl jusqu'à présent, ・ Remballez la matrice dans l'ordre inverse et affichez-la. -Obtenir le numéro de séquence et y accéder à partir du numéro arrière, Il existe diverses méthodes telles que, mais c'est gênant. Laissez-moi vous donner un exemple que vous pouvez facilement faire sans cela.
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for name in reversed(sports):
... print name
...
volleyball
soccer
tennis
baseball
Vous pouvez facilement inverser l'ordre en ajoutant simplement reverse () au tableau à lire de cette manière.
Vous souhaiterez peut-être afficher un tableau de nombres disjoints dans l'ordre croissant. Dans ce cas, essayez ce qui suit.
>>> numbers = [8, 2, 7, 4, 3]
>>> for num in sorted(numbers):
... print num
...
2
3
4
7
8
Vous pouvez facilement trier en utilisant la fonction triée comme celle-ci.
Dans l'exemple précédent, il était affiché dans l'ordre croissant. Cependant, dans certains cas, vous souhaiterez peut-être trier par ordre décroissant. Dans ce cas, vous pouvez écrire comme suit.
>>> numbers = [8, 2, 7, 4, 3]
>>> for num in sorted(numbers, reverse=True):
... print num
...
8
7
4
3
2
>>>
Vous pouvez trier par ordre décroissant en définissant le mot-clé reverse de la fonction triée sur True.
Vous voudrez peut-être connaître le numéro de l'élément du tableau auquel vous accédez actuellement. Dans un tel cas, il existe deux méthodes.
・ Méthode utilisant la fonction de plage
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for i in range(0, len(sports)):
... print i, sports[i]
...
0 baseball
1 tennis
2 soccer
3 volleyball
C'est un sentiment de langage C. Voici comment utiliser la fonction range pour déterminer le numéro d'élément du tableau auquel accéder. C'est la bonne façon de faire, mais c'est un peu ennuyeux. Si vous voulez procéder facilement pour chaque tick comme vous l'avez appris cette fois, pourquoi ne pas essayer la méthode suivante.
・ Méthode utilisant la fonction d'énumération
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> for i, name in enumerate(sports):
... print i, name
...
0 baseball
1 tennis
2 soccer
3 volleyball
Contrairement à l'utilisation de la fonction range précédemment, ce serait bien de pouvoir écrire une description rafraîchissante sans avoir à décrire où afficher le tableau.
Je souhaite afficher deux tableaux ensemble Si vous avez deux tableaux et que vous souhaitez les traiter ensemble, il est pratique d'utiliser la fonction zip. Un exemple ressemble à ceci:
>>> sports = ["baseball", "tennis", "soccer", "volleyball"]
>>> people = ["Ichiro", "Nishikori", "Nakata"]
>>> for name, person in zip(sports, people):
... print name, person
...
baseball Ichiro
tennis Nishikori
soccer Nakata
L'astuce ici est que même si le nombre d'éléments dans le tableau est différent, il doit être traité automatiquement en fonction du plus court.
Recommended Posts