Python-Einschlussnotation

zunaechst

Bitte beachten Sie, dass Sie keinen Wortschatz haben.

Was ist die Einschlussnotation?

Sie können eine Liste mit einer kleinen Anzahl von Zeilen mithilfe der Einschlussnotation definieren. Zum Beispiel beim Hinzufügen von Elementen von 0 bis 99

No1(Nicht enthalten).py


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

Es dauert 3 Zeilen, aber in der Einschlussnotation

No1(Einschlussnotation).py


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

Es dauert nur eine Zeile. Wie interessiert dich das

Grundlegende Syntax

Zunächst einmal die grundlegende Syntax. [** Letztes Element, das ** für ** Zähler ** in ** iterierbar ** hinzugefügt wurde] Schreiben. Erläutern der Liste der Elemente mit Werten von 0 bis 99

Kommentar.py


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

Der Wert von i ist 0 bis 99 und es fühlt sich an, als würde man i hinzufügen, das letzte Element, das hinzugefügt wird. Hmm, was? Warum haben Sie dann das zuletzt hinzugefügte Element und den Zähler separat geschrieben? Das werden Sie später sehen.

if (postfix)

Lassen Sie uns nun eine Liste mit nur geraden Zahlen erstellen. (Es gibt keinen Bereich (0,99,2))

No2(Nicht enthalten).py


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

Das Ergebnis ist ein langer, mittelmäßiger Code, der leicht zu lesen ist. Das ist aber langweilig. Wenn Sie die Einschlussnotation verwenden

No2(Einschlussnotation).py


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

Dann wurde ein cooler Code fertiggestellt. (Schwer zu lesen? Ich weiß nicht) Dies macht es jedoch für Erstbenutzer schwierig, die Zahlen zu verstehen (ich sage nicht, dass ich es nicht weiß). Sie können sehen, warum dieser Code den Zähler vom letzten hinzuzufügenden Element trennt (Bitte raten Sie mal, ich habe dieses Vokabular nicht)

No2(Schauen Sie sich zuerst die Unterstützung an)


even=[str(i)+'Ist gerade' for i in range(100) if i%2==0]
#>>['0 ist gerade', '2 ist gerade', '4 ist gerade',...'98 ist gerade']

Es wurde schon auf den ersten Blick leichter zu verstehen.

Diejenige, die if und else enthält (bedingter Operator)

Siehe this für bedingte Operatoren. Zum Beispiel ein Programm, das sich auf gerade oder ungerade bezieht

No3(Nicht enthalten).py


number=[]
for i in range(100):
    if i%2==0:
        number.append(str(i)+'Ist gerade')
    else:
        number.append(str(i)+'Ist ungerade')

Wird sein. Wer möchte so einen langen Code lesen? In Einschlussnotation

No3(Einschlussnotation).py


number=[str(i)+'Ist gerade' if i%2==0 else str(i)+'Ist ungerade' for i in range(100) ]

Es wurde ein sehr kurzer Code. Hmm? Ich weiß nicht, ob du mir das zeigst? Ich werde es erklären.

No3(Einzug).py


number=[str(i)+'Ist gerade' if i%2==0 else str(i)+'Ist ungerade' for i in range(100)]
#Wenn es nicht das Ergebnis der vorherigen if-Anweisung ist, geben Sie es ein

Wortschatz()

Nachtrag Kommentar von @konandoiruasa Was für ein str (i) + Untara Kantara Teil wurde mehr weggelassen.

number=[str(i)+('Ist ungerade' if i%2 else 'Ist gerade') for i in range(100) ]#Ist etwas kürzer
number=[str(i)+['Ist ungerade', 'Ist gerade'][i%2==0] for i in range(100) ]#Ist ungefähr gleich.

Das ist. Es ist sicherlich ein überzeugender Code. Ich kannte meinen Mangel an Wissen.

Extrem

Bis zu diesem Punkt war alles einfach, aber von nun an lautet Pythons Regel, "den Code so zu schreiben, dass er leicht zu lesen ist". Alle sind in Einschlussnotation ausgedrückt. 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)

Einschlussnotation

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']

Zweidimensionales Array

Zweidimensionales Array.py


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

Einschlussnotation

Zweidimensionales Array 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]]

Fühlen Sie sich, eine Liste von Tipps hinzuzufügen Übrigens 5. Dimension

Fünfdimensionales Array.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]]]]]

Doppelschleife

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]

Anwendung

Ein Programm, das den Gesamtbetrag einschließlich Verbrauchsteuer anzeigt

print(['Die Summe ist'+str(int(sum([int(input('Produkt{}Geldbetrag:'.format((i+1)))) for i in range(int(input('購入するProduktの個数を入力し、金額を消費税抜きで入力していってください。購入するProdukt数:')))])*1.1))+'Es ist ein Kreis.(Verbrauchssteuer enthalten)'])
Bitte geben Sie die Anzahl der zu kaufenden Artikel und den Betrag ohne Verbrauchsteuer ein. Anzahl der zu kaufenden Artikel:4
Produktmenge 1:200
Produktmenge 2:100
Produktmenge 3:140000
Produktmenge 4:65520
['Die Summe beträgt 226402 Yen.(Verbrauchssteuer enthalten)']

Erklärung wird weggelassen

Recommended Posts

Python-Einschlussnotation
Über die Einschlussnotation von Python
Python> Verständnis / Inklusive Notation> Listenverständnis
Python-Übung 2 - List Inclusion Notation
Python
Geschwindigkeit der Listeneinschlussnotation in Python
Kafka Python
Python-Grundlagen ⑤
Python-Zusammenfassung
Eingebaute Python
Python-Technik
Python studieren
Python 2.7 Countdown
Python-Memorandum
Python-Tipps
Python-Funktion ①
Python-Grundlagen
Python-Memo
Ufo-> Python (3)
Installieren Sie Python
Python Singleton
Python-Grundlagen ④
Python-Memorandum 2
Python-Memo
Legen Sie die Einschlussnotation fest
Python Jinja2
Python-Inkrement
atCoder 173 Python
[Python] -Funktion
Python-Installation
Python installieren 3.4.3.
Versuchen Sie Python
Python-Memo
Python iterativ
Python-Algorithmus
Python2 + word2vec
[Python] -Variablen
Python-Funktionen
Python sys.intern ()
Python-Tutorial
Python-Fraktion
Python Underbar Das ist was
Python-Zusammenfassung
Starten Sie Python
[Python] Sortieren
Hinweis: Python
Python-Grundlagen ③
Python-Protokoll ausgeben
Python-Grundlagen
[Scraping] Python-Scraping
Listeneinschlussnotation
Python-Update (2.6-> 2.7)
Python-Memo
Python-Memorandum
Python #sort
Ufo-> Python
Python nslookup
Python lernen