Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)

Ich bin Autodidakt und nehme an AtCoder in Python teil. Deshalb werde ich heute eine kurze Erklärung für und das Arrangement geben, was ein Punkt ist, den Leute, die angefangen haben zu lernen (Leute wie ich in der Vergangenheit), nicht verstehen werden! Ich werde auch die Geschichte wie die Eingabe mit für von AtCoder erklären. Es ist nur eine kurze Erklärung. Wenn Sie zumindest so weit wissen, erwerben Sie auch Google-Fähigkeiten (Vokabeln bei Google), googeln Sie jedes Mal verschiedene Funktionen selbst und denken Sie nach und nach daran! (Ich bin ein junger brauner Kodierer, und ich bin nicht gut in Kurznotationen. Wenn Sie eine Lüge schreiben sollten, lassen Sie es mich bitte wissen> <)

Was ist ein Satz Yo!

Wie man normal schreibt

for i in range(3):
    print(i)

Die for-Anweisung sieht so aus. ** Die Anzahl der Zahlen in den Klammern von "range ()" und die Verarbeitung in der for-Anweisung werden wiederholt. ** **. Das "i" in diesem wird als Schleifenzählervariable bezeichnet (ich habe es auch gegoogelt und jetzt weiß ich es. Der Name spielt keine Rolle) ** Es erhöht sich jedes Mal um 1, wenn es wiederholt wird. ** **.

Das Ergebnis der Ausführung dieses Codes ist

0
1
2

Es wird sein.

Wie Sie hier sehen können, ist das "i" der ersten Schleife 0. Dies wird später ein sehr wichtiger Punkt sein. Sie können sehen, dass 0,1,2 insgesamt dreimal ausgegeben wird. Das liegt daran, dass ich "range (3)" geschrieben habe.

Wie man den Anfang und das Ende entscheidet

for i in range(1,3):
    print(i)

Eigentlich gibt es auch so eine Schreibweise. Das Ausgabeergebnis davon ist

1
2

ist. Sie können die Regeln sehen, indem Sie sie mit dem obigen Code vergleichen.

Entwicklung ~ Wiederholung für Sätze ~

Die for-Anweisung kann überschrieben werden. Nun, jetzt schau es dir an.

for i in range(2):
    for j in range(3):
        print(i,j)

Ausgabeergebnis

0 0
0 1
0 2
1 0
1 1
1 2

Es mag etwas verwirrend sein, aber Sie können sich daran gewöhnen! (Wenn Sie viele for-Anweisungen stapeln, dauert es übrigens viel Ausführungszeit.)

Was für ein Tag der Absprache!

Grob gesagt ist eine Liste wie eine Variable, die mehrere Elemente zusammen speichern kann.

yasai = ["Karotte","Daikon","Gobo"]

Die Elemente werden durch Kommas getrennt und von "[]" umgeben. Stellen Sie sich in diesem Fall "Yasai" als ein Hotel mit drei Zimmern vor. Normalerweise hat jedes Zimmer in einem Hotel eine Zimmernummer. Das Array ist das gleiche.

Das Array ist in der Reihenfolge vom vorderen Element ** mit "0,1,2 ...." nummeriert. ** Diese Nummer heißt Index.

Ich werde es noch einmal sagen! !! ** Die Nummer des ersten Elements ist 0! !! !! ** **. Es ist das gleiche wie das vorherige "i". Es ist ein sehr wichtiger Punkt, also lasst es uns gedrückt halten.

Geben wir den Index an

yasai = ["Karotte","Daikon","Gobo"]
print(yasai[1])

Sie können das Element dieser Nummer auch im Array abrufen, indem Sie "Array-Name [Nummer]" wie folgt schreiben. Kennen Sie das Ergebnis der Ausführung dieses Codes?

Glaubst du, es ist eine Karotte? Es ist falsch!

Daikon

** Die Nummer des ersten Elements ist 0 **. Achten Sie also darauf, keinen Fehler zu machen.

Die Länge des Arrays ist len!

Die Länge des Arrays kann mit "len (Array)" ermittelt werden.

yasai = ["Karotte","Daikon","Gobo"]
print(len(yasai))

Ausgabeergebnis

3

Ich benutze das auch oft. Lass uns erinnern.

basierend auf dem oben genannten

Sie können jetzt Code wie diesen schreiben.

yasai = ["Karotte","Daikon","Gobo"]
for i in range(len(yasai)):
    print(yasai[i])

Ausgabeergebnis ↓

Karotte
Daikon
Gobo

Wie ist das! Wenn Sie dies bisher verstanden haben, können Sie das C-Problem lösen. Wenn Sie nicht verstehen, lesen Sie bitte die obigen Informationen erneut.

Versuchen Sie, mit der for-Anweisung einzugeben und das Array einzugeben. (AtCoder)

Bei AtCoder denke ich, dass die Eingabe mit for aus dem C-Problem stammt. Zum Beispiel sieht es so aus ↓

C - Peaks

Wenn man das Eingabefeld betrachtet, sieht es so aus. スクリーンショット 2020-05-15 14.27.39.png

Möglicherweise verstehen Sie die Bedeutung nicht. Ich habe die Bedeutung auch zuerst nicht verstanden. Besonders tiefgestellt. Aber wenn Sie das Obige verstehen können, werden Sie es sofort verstehen.

N,M = map(int,input().split())
H = list(map(int,input().split()))
for i in range(M):
    A,B = map(int,input().split())

Jajan. Um eine Liste einzugeben, decken Sie einfach die übliche Eingabe von "map ()" mit "list ()" ab. In der folgenden for-Anweisung wird die Schleife M-mal gedreht und A und B werden M-mal eingegeben.

Wie Sie hier sehen können, muss Python bei der Eingabe des Arrays nicht die Länge des Arrays angeben, daher wird N bei der Eingabe nicht wie M verwendet. Es ist einfach.

In der Eingabespezifikation (siehe graues Bild) gilt "N == len (H)".

Jeder hasst unpassende Referenzen ~ Lesen wir die Fehlermeldung ~

Einer der frustrierendsten Fehler für Anfänger sind nicht ordnungsgemäße Referenzen.

yasai = ["Karotte","Daikon","Gobo"]
print(yasai[3])

Nun, ich habe diesen Code. Wissen Sie, was ausgegeben wird?

In dem unwahrscheinlichen Fall, dass jemand "Gobo" denkt, gehen Sie zurück zur obigen Seite und denken Sie an meine Worte.

Die Antwort lautet "nichts wird ausgegeben". Ich erhalte eine Fehlermeldung.

Traceback (most recent call last):
  File "Main.py", line 2, in <module>
    print(yasai[3])
IndexError: list index out of range

Ich bekomme diesen Fehler.

Selbst wenn Sie kein Englisch sprechen können, ist es überhaupt nicht schwierig, wenn Sie es ruhig lesen.

In Zeile 2 können Sie sehen, dass der Code in der zweiten Zeile falsch ist. Siehe IndexError: Listenindex außerhalb des Bereichs. Dies ist der Indexfehler, den ich (am häufigsten) hasse, ** Out-of-Array-Referenz **.

Mit anderen Worten, wenn Sie diese Fehlermeldung lesen, können Sie sehen, dass "** Der Index des Codes" print (yasai [3]) "in der zweiten Zeile bezieht sich auf die Außenseite des Arrays **"!

Diese Referenz außerhalb der Reihenfolge mag auf den ersten Blick einfach erscheinen, aber wenn der Code komplexer wird, wird sie zu einer Referenz für Horror außerhalb der Reihenfolge in der Parade-Hölle **. Achtung.

Schließlich

Wenn Sie das C-Problem mit einer bestimmten Geschwindigkeit lösen können, können Sie definitiv einen braunen Codierer anstreben! Python ist eine Sprache, die Kurzcode zum Schreiben enthält und sich zum einfachen schnellen Lösen eignet. Vor allem ist sie leicht zu lesen, daher habe ich viel Zeit zum Schreiben gebraucht, aber es kann relativ schnell gehen, bis sie braun wird.

Das größte Problem ist die Ausführungszeit (der Wettbewerbsprofi hat eine Begrenzung der Ausführungszeit, schreiben wir den Code so effizient wie möglich, siehe Web für Details), aber wenn Sie sich an die verschiedenen Berechnungen gewöhnen Bis zu einem gewissen Grad kann man es fühlen.

**Bitte gib dein bestes! ** **.

Recommended Posts

Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
Python für Super-Anfänger Super-Anfänger Python # Einfach loszuwerden
Python #Funktion 2 für Super-Anfänger
Python #Funktion 1 für Super-Anfänger
Python #Liste für Super-Anfänger
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Python #index für Super-Anfänger, Slices
Python #len Funktion für Super-Anfänger
Python #Hello World für Super-Anfänger
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Lassen Sie uns Python für Super-Anfänger zusammenstellen
Python Lehrbuch für Anfänger
Zusammenfassung häufig verwendeter Python-Arrays (für mich)
Installieren von TensorFlow unter Windows Easy für Python-Anfänger
OpenCV für Python-Anfänger
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Über den Import von externen Python-Modulen <Für Super-Anfänger>
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
Zusammenfassung der Vorverarbeitungsmethoden für Python-Anfänger (Pandas-Datenrahmen)
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Lernablauf für Python-Anfänger
Python> Umgang mit 2D-Arrays
Python3-Umgebungskonstruktion (für Anfänger)
Übersicht über Docker (für Anfänger)
Python-Anfängerhandbuch (Variationen / Arrays)
Grundlegende Python-Grammatik für Anfänger
100 Pandas klopfen für Python-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Vollständiges Verständnis des Python-Debuggens
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
■ Kaggle-Übung für Anfänger - Einführung von Python - von Google Colaboratory
So konvertieren Sie den Python # -Typ für Python-Superanfänger: int, float
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
[Python] Die größten Schwächen und Nachteile von Google Colaboratory [Für Anfänger]
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 1
Einfache Verschlüsselung von Dateiinhalten (Python)
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
[Python] Die potenzielle Feldplanung von Python Robotics verstehen
[Muss für Anfänger] Grundlagen von Linux
Web Scraping für Anfänger in Python (1)
[Python] Grund für das Überschreiben mit super ()
Führen Sie unittest in Python aus (für Anfänger)
Erste Schritte mit Python3
Anfänger Memorandum Python "isdigit" Bewegung
Web Scraping für Anfänger in Python (4) -1
Aufzeichnung der Python-Einführung für Neulinge
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
Memorandum des Python-Paketverwaltungstools ez_setup
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)
PyPI-Paket für die supereinfache Verwendung von Cotoha in Google Colab
Python-Technik für diejenigen, die Anfänger loswerden wollen
[Für Anfänger] Rekursive Funktion (Der Turm in Hanoi ist leicht zu verstehen!)
Einfache Schlüsselwortextraktion mit TermExtract für Python
[Python] Super einfacher Test mit Assert-Anweisung
INSERT in MySQL mit Python [Für Anfänger]
[Kaggle für Super-Anfänger] Titanic (Logistic Return)
Zusammenfassung verschiedener for-Anweisungen in Python
Einfache Einführung der Spracherkennung mit Python
[Beispiel für eine Python-Verbesserung] Was ist die empfohlene Lernseite für Python-Anfänger?