Python List
Table of Contents
In diesem Tutorial erfahren wir alles über Python-Listen, wie sie erstellt werden, eine Liste in Scheiben schneiden, Elemente hinzufügen oder daraus entfernen und so weiter.
Python bietet eine Reihe von zusammengesetzten Datentypen, die oft als Sequenzen bezeichnet werden. List ist einer der am häufigsten verwendeten und sehr vielseitigen Datentypen, die in Python verwendet werden.
Wie wird eine Liste erstellt?
Bei der Python-Programmierung wird eine Liste erstellt, indem alle Elemente (Elemente) in eckige Klammern gesetzt werden []
, durch Kommata abgetrennt.
Es kann eine beliebige Anzahl von Elementen enthalten und sie können unterschiedlichen Typs sein (Integer, Float, String usw.).
# empty list my_list = [] # list of integers my_list = [1, 2, 3] # list with mixed data types my_list = [1, "Hello", 3.4]
Eine Liste kann auch eine andere Liste als Element haben. Dies wird als verschachtelte Liste bezeichnet.
# verschachtelte Liste my_list = ["mouse", [8, 4, 6], ['a']]
Access List Elements
Es gibt verschiedene Möglichkeiten, auf die Elemente einer Liste zuzugreifen.
Liste Index
Wir können den Index-Operator verwenden []
um auf ein Element in einer Liste zuzugreifen. In Python beginnen Indizes bei 0. Eine Liste mit 5 Elementen hat also einen Index von 0 bis 4.
Der Versuch, auf andere als diese Indizes zuzugreifen, führt zu einem IndexError
. Der Index muss eine ganze Zahl sein. Wir können weder Float noch andere Typen verwenden, dies führt zu TypeError
.
Auf verschachtelte Listen wird über verschachtelte Indizierung zugegriffen.
# Listen Indizierung my_list = ['p', 'r', 'o', 'b', 'e'] # Ausgabe: p print(my_list[0]) # Ausgabe: o print(my_list[2]) # Ausgabe: e print(my_list[4]) # Verschachtelte Liste n_list = ["Happy", [2, 0, 1, 5]] # Verschachtelte Indizierung print(n_list[0][1]) print(n_list[1][3]) # Error! Für die Indizierung kann nur Integer verwendet werden print(my_list[4.0])
Output
p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float
Negative Indizierung
Python erlaubt eine negative Indizierung für seine Sequenzen. Der Index von -1 bezieht sich auf das letzte Element, -2 auf das vorletzte Element und so weiter.
# Negative Indizierung in Listen my_list = ['p','r','o','b','e'] print(my_list[-1]) print(my_list[-5])
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
e p
Wie schneidet man Listen in Python?
Wir können auf einen Bereich von Elementen in einer Liste zugreifen, indem wir den Slicing-Operator verwenden :
(colon).
# Listenslicing in Python my_list = ['l','e','r','n','e','n','p','y','t','h', 'o', 'n'] # elements 3rd to 5th print(my_list[2:5]) # elements beginning to 4th print(my_list[:-5]) # elements 6th to end print(my_list[5:]) # elements beginning to end print(my_list[:])
Output
['r', 'n', 'e'] ['l', 'e', 'r', 'n', 'e', 'n', 'p'] ['n', 'p', 'y', 't', 'h', 'o', 'n'] ['l', 'e', 'r', 'n', 'e', 'n', 'p', 'y', 't', 'h', 'o', 'n']
Das Slicing lässt sich am besten visualisieren, indem man den Index als zwischen den Elementen liegend betrachtet, wie unten gezeigt. Wenn wir also auf einen Bereich zugreifen möchten, benötigen wir zwei Indizes, die diesen Teil aus der Liste ausschneiden.
Listenelemente hinzufügen/ändern
Listen sind veränderbar, dh ihre Elemente können im Gegensatz zu Strings oder Tupeln geändert werden.
Wir können den Zuweisungsoperator verwenden =
um ein Element oder eine Reihe von Elementen zu ändern.
#Fehlerwerte in einer Liste korrigieren odd = [2, 4, 6, 8] # Ändern Sie das erste Element odd[0] = 1 print(odd) # 2. bis 4. Punkt ändern odd[1:4] = [3, 5, 7] print(odd)
Output
[1, 4, 6, 8] [1, 3, 5, 7]
Wir können ein Element zu einer Liste hinzufügen, indem wir die append()
Methode oder fügen Sie mehrere Elemente hinzu mit extend()
methode.
# Anhängen und Erweitern von Listen in Python odd = [1, 3, 5] odd.append(7) print(odd) odd.extend([9, 11, 13]) print(odd)
Output
[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13]
Wir können auch verwenden +
Operator, um zwei Listen zu kombinieren. Dies wird auch als Verkettung bezeichnet.
Der *
Operator wiederholt eine Liste für die angegebene Anzahl von Malen.
# Listen verketten und wiederholen odd = [1, 3, 5] print(odd + [9, 7, 5]) print(["re"] * 3)
Output
[1, 3, 5, 9, 7, 5] ['re', 're', 're']
Darüber hinaus können wir ein Element an einer gewünschten Stelle einfügen, indem wir die Methode verwenden insert()
oder fügen Sie mehrere Elemente ein, indem Sie sie in ein leeres Segment einer Liste drücken.
# Demonstration der Methode list insert() odd = [1, 9] odd.insert(1,3) print(odd) odd[2:2] = [5, 7] print(odd)
Output
[1, 3, 9] [1, 3, 5, 7, 9]
Wir können ein oder mehrere Elemente aus einer Liste mit dem Schlüsselwort löschen del
. Es kann sogar die Liste vollständig löschen.
# Deleting list items my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] # delete one item del my_list[2] print(my_list) # delete multiple items del my_list[1:5] print(my_list) # delete entire list del my_list # Error: List not defined print(my_list)
Output
['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined
Wir können benutzen remove()
methode zum Entfernen des angegebenen Elements oder pop()
methode, um ein Element am angegebenen Index zu entfernen.
Die pop()
Die Methode entfernt das letzte Element und gibt es zurück, wenn der Index nicht bereitgestellt wird. Dies hilft uns, Listen als Stacks zu implementieren (First In, Last Out Datenstruktur).
Wir können auch die clear()
methode zum Leeren einer Liste.
my_list = ['p','r','o','b','l','e','m'] my_list.remove('p') # Output: ['r', 'o', 'b', 'l', 'e', 'm'] print(my_list) # Output: 'o' print(my_list.pop(1)) # Output: ['r', 'b', 'l', 'e', 'm'] print(my_list) # Output: 'm' print(my_list.pop()) # Output: ['r', 'b', 'l', 'e'] print(my_list) my_list.clear() # Output: [] print(my_list)
Output
['r', 'o', 'b', 'l', 'e', 'm'] o ['r', 'b', 'l', 'e', 'm'] m ['r', 'b', 'l', 'e'] []
Schließlich können wir auch Elemente in einer Liste löschen, indem wir einem Segment von Elementen eine leere Liste zuweisen.
>>> my_list = ['p','r','o','b','l','e','m'] >>> my_list[2:3] = [] >>> my_list ['p', 'r', 'b', 'l', 'e', 'm'] >>> my_list[2:5] = [] >>> my_list ['p', 'r', 'm']
Python List Methods
Methoden, die mit Listenobjekten in der Python-Programmierung verfügbar sind, sind unten tabellarisch aufgeführt.
Sie werden aufgerufen als list.method()
. Einige der Methoden wurden oben bereits verwendet.
Python List Methods |
---|
append() – Fügen Sie ein Element am Ende der Liste hinzu |
extend() – Alle Elemente einer Liste zu einer anderen Liste hinzufügen |
insert() – Fügen Sie ein Element am definierten Index ein |
remove() – Entfernt ein Element aus der Liste |
pop() – Entfernt ein Element am angegebenen Index und gibt es zurück |
clear() – Entfernt alle Elemente aus der Liste |
index() – Gibt den Index des ersten übereinstimmenden Elements zurück |
count() – Gibt die Anzahl der als Argument übergebenen Elemente zurück |
sort() – Elemente in einer Liste in aufsteigender Reihenfolge sortieren |
reverse() – Die Reihenfolge der Elemente in der Liste umkehren |
copy() – Gibt eine flache Kopie der Liste zurück |
Einige Beispiele für Python-Listenmethoden:
# Python list methods my_list = [3, 8, 1, 6, 0, 8, 4] # Output: 1 print(my_list.index(8)) # Output: 2 print(my_list.count(8)) my_list.sort() # Output: [0, 1, 3, 4, 6, 8, 8] print(my_list) my_list.reverse() # Output: [8, 8, 6, 4, 3, 1, 0] print(my_list)
Output
1 2 [0, 1, 3, 4, 6, 8, 8] [8, 8, 6, 4, 3, 1, 0]
List Comprehension: Elegante Art, Listen zu erstellen
Listenverständnis ist eine elegante und prägnante Möglichkeit, eine neue Liste aus einer bestehenden Liste in Python zu erstellen.
Ein Listenverständnis besteht aus einem Ausdruck gefolgt von einer for-Anweisung in eckigen Klammern.
Hier ist ein Beispiel, um eine Liste zu erstellen, bei der jedes Element eine zunehmende Potenz von 2 hat.
pow2 = [2 ** x for x in range(10)] print(pow2)
Output
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
Dieser Code entspricht:
pow2 = [] for x in range(10): pow2.append(2 ** x)
Ein Listenverständnis kann optional mehr enthalten for
or if-Anweisungen. Eine optionale if
anweisung kann Elemente für die neue Liste herausfiltern. Hier sind einige Beispiele.
>>> pow2 = [2 ** x for x in range(10) if x > 5] >>> pow2 [64, 128, 256, 512] >>> odd = [x for x in range(20) if x % 2 == 1] >>> odd [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']] ['Python Language', 'Python Programming', 'C Language', 'C Programming']
Andere Listenoperationen in Python
Listenmitgliedschaftstest
Wir können anhand des Schlüsselworts testen, ob ein Element in einer Liste vorhanden ist oder nicht in
.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] # Output: True print('p' in my_list) # Output: False print('a' in my_list) # Output: True print('c' not in my_list)
Output
True False True
Durch eine Liste iterieren
Verwendung einer for
Schleife können wir durch jedes Element in einer Liste iterieren.
for fruit in ['apfel','banane','mango']: print("ich mag",fruit)
Output
ich mag apfel ich mag banane ich mag mango