https://qiita.com/ganariya/items/fb3f38c2f4a35d1ee2e8
Afin d'étudier Python, j'ai copié une bibliothèque d'intelligence de groupe appelée acopy.
Dans acopy, de nombreuses grammaires et idiomes Python intéressants sont utilisés, et il est résumé que c'est utile parmi eux.
Cette fois, nous allons apprendre l'instruction if de la notation d'inclusion de liste Python.
En utilisant l'instruction if dans la notation d'inclusion de liste, vous pouvez sélectionner la valeur à utiliser pour la liste.
Par exemple, si vous écrivez une liste qui identifie les nombres pairs contenus dans $ [0, N) $
N = int(input())
odds = [x for x in range(N) if x % 2]
print(odds)
Vous pouvez écrire comme ci-dessus. Il ne détermine x que si la condition «si x% 2» est remplie.
En d'autres termes
N = int(input())
arr = []
for x in range(N):
if x % 2 == 0:
arr.append(x)
Ce qui précède est le code équivalent.
Peut être combiné avec l'opérateur ternaire.
La condition attachée à ** côté droit ** dans la notation d'inclusion de liste juge-t-elle la valeur? Voudriez-vous? Il s'agit de la ** sélection ** de.
D'autre part, l'opérateur ternaire détermine la condition à partir des valeurs sélectionnées et modifie la valeur renvoyée dans le cas de True et dans le cas de False.
Il renvoie un nombre pair comme auparavant, mais lorsque la place du 1 est 0, retournons une liste contenant $ 0 $ dans $ x $.
N = int(input())
'''
[[], 2, 4, 6, 8, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12, 14, 16, 18, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22, 24, 26, 28, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
'''
evens = [x if x % 10 else [0] * x for x in range(N) if x % 2 == 0]
print(evens)
Le si sur le verso après pour les juges si c'est pair ou non et le trie. Après avoir traversé le tri, l'opérateur ternaire est utilisé pour retourner un tableau contenant $ 0 $ et $ x $ si la place des uns n'est pas 0.
Pour être honnête, dans l'exemple ci-dessus, il ne sert à rien de l'utiliser.
Recommended Posts