Python-Anfängerhandbuch (Variationen / Arrays)

Überblick

Ich werde mehrmals einen Artikel für Anfänger von Python3 schreiben. Grundsätzlich handelt es sich um einen Artikel, der durch Abonnieren von Einführung in O'Reilly Book Python3 zusammengestellt wurde. Dies ist ein Memo für meine Rezension, aber ich habe es gepostet, weil ich dachte, es könnte für jemanden nützlich sein. Der Reader ist für Anfänger in der Python-Programmierung gedacht.

Dieses Mal werden wir Kapitel 2 "Numerische Werte / Zeichenketten / Variablen" / Kapitel 3 "Listen / Taples / Wörterbücher / Mengen" zusammenfassen.

Kapitel 2: Numerische Werte, Zeichenfolgen, Variablen

Wenn Sie in Kapitel 2 andere Sprachen gelernt haben, scheint es nichts zu geben, was Sie wissen müssen. Das einzige, was ich sagen kann, ist, dass ich es deklarieren kann, ohne mir Gedanken über den Typ zu machen ...

  • Das Verhalten von numerischen Werten und Zeichenfolgen ist grundsätzlich das gleiche wie in anderen Sprachen. Beachten Sie, dass Python alles (Boule-Werte, Ganzzahlen, Gleitkommawerte, Zeichenfolgen, größere Datenstrukturen, Funktionen, Programme) als Objekte </ Font color> implementiert. Im Gegensatz zu C, Java, C # usw. können Sie deklarieren, ohne sich um den Typ der Variablen kümmern zu müssen.
  • Integrierte Funktionen können überschrieben werden, sodass die Gefahr eines Umschreibens besteht
print(__import__('keyword').kwlist)  #Liste der reservierten Wörter

for funcs in dir(__builtins__):
    print(funcs)  #Liste der vordefinierten integrierten Funktionen

str = "hoge"  #Vordefinierte integrierte Funktionen können überschrieben werden(Achtung)
print(str)  # hoge
str(2016)  # TypeError

# None = "huga"  # 
  • Python verursacht keinen Ganzzahlüberlauf
  • Escape ist \ (Schrägstrich)
  • Der Zeilenumbruch beim Drucken mit print () ist \ n
  • Spezieller ternärer Operator </ Font>

sample.py


foo = x if (x >= 0) else -x #Ternärer Python-Operator

sample.c


foo = if (x >= 0) ? x : -x; //c,java,Drei-Term-Operator wie js
  • Operationen um Strings können leicht abweichen (siehe unten)

Einzigartige Bedienung von Zeichenketten und Arrays

Ausdruck Bedeutung
[0] Holen Sie sich den ersten (Start) eines Arrays / einer Zeichenfolge
[5] Holen Sie sich das 6. Array / String
[0:5] Holen Sie sich den 1. bis 5. des Arrays / der Zeichenfolge (ohne 6.)
[:5] Holen Sie sich vom 1. bis 5. des Arrays / der Zeichenfolge (von Anfang an, wenn die Startposition weggelassen wird)
[5:] Holen Sie sich vom 6. bis zum Ende des Arrays / der Zeichenfolge (bis zum Ende, wenn die Endposition weggelassen wird)
[:] Holen Sie sich das gesamte Array / die Zeichenfolge (vom Anfang bis zum Ende)
[-1] Holen Sie sich die erste (letzte) Zählung vom Ende des Arrays / der Zeichenfolge
[-5:-1] Holen Sie sich vom 5. bis zum 2. vom Ende der Zählung vom Ende des Arrays / der Zeichenfolge ([-1]Beinhaltet nicht)
[::5] Holen Sie sich alle 5 Schritte ein Array / eine Zeichenfolge
[::-5] Holen Sie sich Array / Zeichenkette alle 5 Schritte von hinten
[::-1] Ruft das Array / die Zeichenfolge in umgekehrter Reihenfolge ab

Arithmetischer Operator (Division von ganzen Zahlen und Potenz kann sich von anderen Sprachen unterscheiden ...)

Operator Bedeutung Beispiel Ergebnis
+ Hinzufügen 5+3 8
- Subtrahieren 5-3 2
* Multiplizieren 5*3 15
/ Teilung 5/3 1.6
// Ganzzahlige Teilung (Kürzung) 5//3 1
% Überschuss 5%3 2
** Reiten 5**3 125

Funktionen zum Bearbeiten von Arrays und Zeichenketten

Ausdruck Bedeutung
len(var) var Länge
var.split(",") var (Zeichenkette)","Gibt ein Array zurück, das durch getrennt ist
",".join(var) var (String oder String-Array)","Gibt die Zeichenfolge in Kombination mit zurück
var.replace(",", "") Ersetzt var (string) und gibt einen neuen String zurück(In diesem Beispiel","Zu""Ersetzen mit)

Kapitel 3: Listen, Taples, Wörterbücher, Sets

Wenn Sie in Kapitel 3 andere Sprachen gelernt haben, scheint dies kein Problem zu sein. Es gibt jedoch einen Python-ähnlichen Schreibstil (Schreibstil, der Iteratoren gut nutzt). Zuerst fühlen Sie sich vielleicht seltsam, wie man "für Satz" schreibt. Wenn Sie sich daran gewöhnt haben, können Sie bequem "in" verwenden, um auf die Elemente im Array zuzugreifen. </ Schriftfarbe>

  • Negative Indizes ermöglichen den Zugriff auf Elemente, indem Sie vom Ende an rückwärts zählen. (Notation wie'arr [-1] ')
  • Wie man das Array aus der umgekehrten Reihenfolge erhält, indem man den negativen Index gut nutzt, ist'arr [:: -1] '
  • Sie können eine Liste in einer Liste erstellen und ein mehrdimensionales Array erstellen.
two_dim_array = [["hoge", "huga"], [0, 1, 2], False]  #Liste in Liste
print(two_dim_array[1][0])  # output = 0
  • Verwenden Sie verlängern () oder + =, um Sequenzen zu verbinden
  • Die Reihenfolge der Schlüssel im Wörterbuch ist nicht festgelegt und entspricht nicht unbedingt der Reihenfolge, in der die Elemente hinzugefügt wurden.
  • Python-Listen, Taples, Wörterbücher und Sets können mit einer Mischung aus Variablen verschiedener Typen verwendet werden.
list_sample = ["hoge", 0, False]
tuple_sample = ("hoge", 0, False)
dict_sample = {0: "hoge", "huga": 0, 1: False}
set_sample = set("hoge", 0, False)
  • Verwenden Sie in, um den Zugriff auf Array-Elemente wie For-In, If-In usw. zu beschreiben.

Wie man um die Liste herum schreibt

Name Wie schreibt man
aufführen foo = ['tom', 'mike', 'nancy', 'jenny', 'jack']
Taple foo = ('tom', 'mike', 'nancy', 'jenny', 'jack')
Wörterbuch foo = {'tom': 20, 'mike': 21, 'nancy': 'unknown', 'jenny': 12, 'jack': 55}
einstellen foo = set('tom', 'mike', 'nancy', 'jenny', 'jack')
  • Taple: Nicht doppeltes Array
  • Dictionary: Ein Array, das KEY und VALUE setzt (assoziatives Array)
  • Set: Ein Array, das nur KEY aus dem Wörterbuch lässt?

So schreiben Sie ein mehrdimensionales Array

  • Eine Klasse, die Arrays verarbeitet, wird in numpy bereitgestellt, das als numerische Berechnungsbibliothek bekannt ist. Behandeln Sie mehrdimensionale Arrays mit'numpy.ndarray '. Für 'numpy.ndarray' gelten jedoch die folgenden Einschränkungen.
  • Alle Elemente im Array haben den gleichen Typ
  • Feste Array-Länge (Array mit fester Länge)
  • Die Anzahl der Elemente in jeder Dimension des Arrays ist gleich

Wenn Sie es zum Schreiben ohne Verwendung von numpy verwenden möchten, können Sie auch arr = [[]] verwenden. Möglicherweise handelt es sich um ein veraltetes Anti-Muster. Probieren Sie es aus.

Listenmanipulationsfunktion

Funktion Bedeutung
append( val ) Fügen Sie am Ende der Liste ein Element hinzu
extend( arr ) Fügen Sie am Ende der Liste ein Array (mehrere Elemente) hinzu
insert( index, val ) Element zum angegebenen Index in der Liste hinzufügen
del( index ) Löschen Sie das im Index angegebene Element der Liste
remove( val ) Entfernen Sie das Element mit dem angegebenen Wert aus der Liste
pop() Element Pop
index( val ) Ruft den Index des Elements mit dem angegebenen Wert aus der Liste ab
count( val ) Ermitteln Sie die Anzahl der Elemente mit dem angegebenen Wert in der Liste
join( arr ) Konvertieren einer Liste in eine Zeichenfolge (umgekehrt zur Teilungsfunktion)
sort( reverse= True/False ) Sortieren Sie die Liste (aufsteigend, wenn numerisch),Alphabetische Reihenfolge für Zeichenketten)
len( arr ) Holen Sie sich die Anzahl der Elemente in der Liste
  • Val steht für eine Variable und arr für ein Array.

Wörterbuch-Manipulationsfunktion

Funktion Bedeutung
update( dict ) Wörterbücher kombinieren
del( key ) Löschen Sie das Element mit dem angegebenen Schlüssel
clear( ) Löschen Sie alle Elemente
  • Val ist eine Variable, arr ist ein Array und dict ist ein Wörterbuch.

Wenn Sie update (dict) verwenden, verwenden Sie es, wenn Sie ein Wörterbuch mit mehreren Elementen hinzufügen. Wenn Sie einen {key: value} hinzufügen möchten, können Sie ihn durch Ersetzen durch '=' hinzufügen. (Beachten Sie jedoch, dass der Schlüssel beim Duplizieren überschrieben wird.) </ Schriftfarbe>

dict_sample = {"red": 100, "green": 0, "blue": 200}
dict_sample2 = {"cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80}
dict_sample.update(dict_sample2)  #Wörterbücher kombinieren
# > dict_sample = {"red": 100, "green": 0, "blue": 200, "cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80}
dict_sample["black"] = 123  #Wenn der Schlüssel nicht dupliziert wird, wird er hinzugefügt
# > dict_sample = {"red": 100, "green": 0, "blue": 200, "cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80, "black": 123}
dict_sample["red"] = 123  #Wenn der Schlüssel dupliziert wird, wird er überschrieben
# > dict_sample = {"red": 123, "green": 0, "blue": 200, "cyan": 50, "magenta": 60, "yellow": 70, "key_plate": 80, "black": 123}

Manipulationsfunktion einstellen

Funktion Berechnung Bedeutung Beispiel
set1.union( set2 ) set1 | set2 Summensatz {1,2,3} | {2,4,6} ⇒ {1, 2, 3, 4, 6}
set1.intersection( set2 ) set1 & set2 Produktset (gemeinsames Set) {1,2,3} & {2,4,6} ⇒ {2}
set1.difference( set2 ) set1 - set2 Differenz gesetzt {1,2,3} - {2,4,6} ⇒ {1, 3}
set1.symmetric_difference( set2 ) set1 ^ set2 Exklusives ODER (gehört nur einem) {1,2,3} ^ {2,4,6} ⇒ {1, 3, 4, 6}
  • Set repräsentiert ein Set.

Kombination mit für, in

Die Python for-Anweisung implementiert keine Kombination aus "Initialisierungsausdruck; Fortsetzungsbedingungsausdruck; Reinitialisierungsausdruck". Schreiben Sie daher nicht in C, C ++ usw. Es ähnelt der Schreibmethode, mit der die in allen Elementen eines Arrays oder Wörterbuchs enthaltenen Werte abgerufen werden, z. B. die für jede Anweisung von JavaScript und Java bereitgestellte Anweisung.

list_sample = ["hoge", "huga", "hage"]
#Python für Anweisung Anti-Pattern
for x in range(0, len(list_sample)):
    print(list_sample[x])  #Zeigen Sie die Elemente des Arrays einzeln an
#Python für Anweisungsmuster
for x in list_sample:
    print(x)  #Zeigen Sie die Elemente des Arrays einzeln an

Das Wörterbuch kann gut mit der for-Anweisung kombiniert werden, um die in allen Elementen enthaltenen Werte abzurufen.

dict_sample = {"red": 100, "green": 0, "blue": 200}
#Python für Anweisungsmuster(Nur Wörterbuchschlüssel)
for k in dict_sample.keys():
    print(k)  #Zeigen Sie die Schlüssel des Wörterbuchs nacheinander an
#Python für Anweisungsmuster(Nur Wörterbuchwert)
for v in dict_sample.values():
    print(v)  #Zeigen Sie die Werte des Wörterbuchs nacheinander an
#Python für Anweisungsmuster(Wörterbuchschlüssel,Wert beide)
for k, v in dict_sample.items():
    print(k + ":" + str(v))  #Zeigen Sie den Inhalt des Wörterbuchs nacheinander an

Kombination mit if, in

in wird oft als bedingter Ausdruck verwendet. Sie können beurteilen, ob eine Liste, ein Taple, ein Wörterbuch oder ein Satz ein bestimmtes Element enthält. (Im Fall eines Wörterbuchs wird das Vorhandensein oder Fehlen eines Schlüssels beurteilt.)

list_sample = ["hoge", "huga", "hage"]
if "hoge" in list_sample: # True
    pass

Recommended Posts