Notation d'inclusion Python

en premier

Veuillez noter que vous n'avez pas de vocabulaire.

Quelle est la notation d'inclusion?

Vous pouvez définir une liste avec un petit nombre de lignes en utilisant la notation d'inclusion. Par exemple, lors de l'ajout d'éléments de 0 à 99

No1(Non inclus).py


intlist1=list()
for i in range(100):
    intlist1.append(i)

Cela prend 3 lignes, mais dans la notation d'inclusion

No1(Notation d'inclusion).py


intlist=[n for n in range(100)]

Cela ne prend qu'une seule ligne. Comment ça t'intéresse?

Syntaxe de base

Eh bien, tout d'abord, la syntaxe de base. [** Dernier élément à ajouter ** pour ** compteur ** dans ** itérable **] Écrire. Pour expliquer la liste des éléments qui ont des valeurs de 0 à 99

Commentaire.py


intlist=[i for i in range(100)]
#[0,1,2,3,4,5,...97,98,99]

La valeur de i est de 0 à 99, et on a l'impression d'ajouter i, le dernier élément à être ajouté. Alors pourquoi avez-vous écrit le dernier élément à ajouter et le compteur séparément? Vous le verrez plus tard.

si (suffixe)

Maintenant, faisons une liste avec seulement des nombres pairs. (Il n'y a pas de plage (0,99,2))

No2(Non inclus).py


even=list()
for i in range(100):
    if i%2==0:
        even.append(i)

Le résultat est un code long, médiocre et facile à lire. Mais c'est ennuyeux. Si vous utilisez la notation d'inclusion

No2(Notation d'inclusion).py


even=[i for i in range(100) if i%2==0]
#[0, 2, 4, 6,...96,98]

Ensuite, un code sympa a été complété. (Difficile à lire? Je ne sais pas) Cependant, cela rend difficile pour les nouveaux utilisateurs de comprendre quels sont les chiffres (je ne dis pas que je ne sais pas). Vous pouvez voir pourquoi ce code sépare le compteur du dernier élément à ajouter (S'il vous plaît devinez pourquoi, je n'ai pas ce vocabulaire)

No2(Assistance au premier regard)


even=[str(i)+'Est même' for i in range(100) if i%2==0]
#>>['0 est pair', '2 est pair', '4 est pair',...'98 est pair']

C'est devenu plus facile à comprendre même au premier coup d'œil.

Celui qui inclut if et else (opérateur conditionnel)

Voir this pour les opérateurs conditionnels. Par exemple, un programme qui fait référence à pair ou impair

No3(Non inclus).py


number=[]
for i in range(100):
    if i%2==0:
        number.append(str(i)+'Est même')
    else:
        number.append(str(i)+'Est impair')

Sera. Qui veut lire un code aussi long? En notation d'inclusion

No3(Notation d'inclusion).py


number=[str(i)+'Est même' if i%2==0 else str(i)+'Est impair' for i in range(100) ]

C'est devenu un code très court. Hmm? Je ne sais pas si vous me montrez ça? Je vais vous l'expliquer.

No3(Retrait).py


number=[str(i)+'Est même' if i%2==0 else str(i)+'Est impair' for i in range(100)]
#S'il ne s'agit pas du résultat de l'instruction if précédente, saisissez-le

vocabulaire()

Postscript Commentaire de @konandoiruasa Quelle partie str (i) + Untara Kanta a été omise plus

number=[str(i)+('Est impair' if i%2 else 'Est même') for i in range(100) ]#Est légèrement plus court
number=[str(i)+['Est impair', 'Est même'][i%2==0] for i in range(100) ]#Est à peu près le même.

C'est. C'est certainement un code convaincant. Je connaissais mon manque de connaissances.

Extrême

Jusque-là, tout était simple, mais à partir de maintenant, la règle de Python consistant à «écrire le code pour qu'il soit facile à lire» est celle-là. Tous sont exprimés en notation d'inclusion. fizzbuzz

fizzbuzz.py


fizzbuzz=[]
for i in range(1,100):
    if i%15==0:
        fizzbuzz.append('fizzbuzz')
    elif i%3==0:
        fizzbuzz.append('fizz')
    elif i%5==0:
        fizzbuzz.append('buzz')
    else:
        fizzbuzz.append(i)

Notation d'inclusion

fizzbuzz2.py


fizzbuzz=['fizzbuzz' if i%15==0 else 'fizz' if i%3==0 else 'buzz' if i%5==0 else i for i in range(1,100)]
#[1, 2, 'fizz', 4, 'buzz', 'fizz',...'fizz', 97, 98, 'fizz']

Tableau bidimensionnel

Tableau bidimensionnel.py


e=[]
e_=[]
for n in range(3):
    e_=[]
    for i in range(10):
        e_.append(i)
    e.append(e_)

Notation d'inclusion

Tableau bidimensionnel 2.py


e=[[i for i in range(4)] for n in range(3)]
#[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]

Sentiment d'ajouter une liste de conseils Au fait, 5ème dimension

Tableau à cinq dimensions.py


_f=[[[[[z for z in range(3)] for y in range(4)] for x in range(5)] for i in range(4)] for n in range(2)]
#[[[[[0, 1, 2], [0, 1, 2],......[0, 1, 2], [0, 1, 2]]]]]

Double boucle

g1=[[0,1,2],[3,4],[5,6,7]]
g=[]
for g2 in g1:
    for g3 in g2:
        g.append(g3)
g1=[[0,1,2],[3,4],[5,6,7]]
_g=[g3 for g2 in g1 for g3 in g2]
#[0, 1, 2, 3, 4, 5, 6, 7]

application

Un programme qui affiche le montant total d'argent, taxe à la consommation comprise

print(['Le total est'+str(int(sum([int(input('Produit{}Somme d'argent:'.format((i+1)))) for i in range(int(input('購入するProduitの個数を入力し、金額を消費税抜きで入力していってください。購入するProduit数:')))])*1.1))+'C'est un cercle.(Taxe à la consommation incluse)'])
Veuillez saisir le nombre d'articles à acheter et saisir le montant hors taxe à la consommation. Nombre d'articles à acheter:4
Quantité de produit 1:200
Quantité de produit 2:100
Quantité de produit 3:140000
Quantité de produit 4:65520
['Le total est de 226402 yens.(Taxe à la consommation incluse)']

L'explication est omise

Recommended Posts

Notation d'inclusion Python
À propos de la notation d'inclusion de python
Python> Compréhension / Notation inclusive> Compréhension de liste
Exercice Python 2 - Notation d'inclusion de liste
Python
Vitesse de notation d'inclusion de liste en Python
python kafka
Les bases de Python ⑤
Résumé Python
Python intégré
Technique Python
Étudier Python
Compte à rebours Python 2.7
Mémorandum Python
astuces python
fonction python ①
Les bases de Python
Mémo Python
ufo-> python (3)
Installer python
Python Singleton
Les bases de Python ④
Mémorandum Python 2
mémo python
Définir la notation d'inclusion
Python Jinja2
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
Installer Python 3.4.3.
Essayez Python
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
[Python] Variables
Fonctions Python
Python sys.intern ()
Tutoriel Python
Fraction Python
underbar python C'est ce que
Résumé Python
Démarrer python
[Python] Trier
Remarque: Python
Les bases de Python ③
Sortie du journal python
Les bases de Python
[Scraping] Scraping Python
Notation d'inclusion de liste
Mise à jour Python (2.6-> 2.7)
mémo python
Mémorandum Python
Python #sort
ufo-> python
Python nslookup
apprentissage de python