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

 

List indexing in Python
Listen Indizierung in Python

 


 

 

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