Website-Suche

Wie man Listenmethoden in Python 3 verwendet


Einführung

Python 3 verfügt über eine Reihe von integrierten Datenstrukturen, darunter Listen. Datenstrukturen bieten uns eine Möglichkeit, Daten zu organisieren und zu speichern, und wir können integrierte Methoden verwenden, um auf diese Daten zuzugreifen oder sie zu manipulieren.

Um das Beste aus diesem Tutorial herauszuholen, sollten Sie bereits einige Kenntnisse über den Listendatentyp, seine Syntax und wie er indiziert wird, haben. Sie können sich Listen ansehen, indem Sie das Tutorial "Listen in Python 3 verstehen" lesen.

Hier werden wir die integrierten Methoden durchgehen, die Sie verwenden können, um mit Listen zu arbeiten. Wir werden Elemente zu Listen hinzufügen und Elemente aus Listen entfernen, Listen erweitern, Listen umkehren und sortieren und mehr.

Es ist wichtig zu beachten, dass Listen veränderbare — oder änderbare — Datentypen sind. Im Gegensatz zu Strings, die unveränderlich sind, wird jedes Mal, wenn Sie eine Methode auf eine Liste anwenden, die Liste selbst und nicht eine Kopie der Liste beeinflusst.

Für dieses Tutorial werden wir hauptsächlich mit einer Liste arbeiten, die ein Inventar verschiedener Fische umfasst, das wir modifizieren müssen, wenn Fische zu einem städtischen Aquarium hinzugefügt oder daraus entfernt werden.

Voraussetzungen

Sie sollten Python 3 installiert und eine Programmierumgebung auf Ihrem Computer oder Server eingerichtet haben. Wenn Sie keine Programmierumgebung eingerichtet haben, können Sie auf die Installations- und Einrichtungsanleitungen für eine lokale Programmierumgebung oder für eine Programmierumgebung auf Ihrem Server verweisen, die für Ihr Betriebssystem (Ubuntu, CentOS, Debian usw.) geeignet ist.

list.append()

Die Methode list.append(x) fügt ein Element (x) am Ende einer Liste hinzu. Wir beginnen mit einer Liste unserer Fische, die im Aquarium verteilt sind. <$>[info] Info: Um dem Beispiels-Code in diesem Tutorial zu folgen, öffnen Sie eine Python-Interactive-Shell auf Ihrem lokalen System, indem Sie den Befehl python3 ausführen. Dann können Sie die Beispiele kopieren, einfügen oder bearbeiten, indem Sie sie nach der Eingabeaufforderung >>> hinzufügen. <$>

fish = ['barracuda','cod','devil ray','eel']

Diese Liste besteht aus 4 String-Elementen, wobei die Indexnummern von 'barracuda' bei 0 bis 'Aal' bei Index 3 reichen.

Wir haben heute einen neuen Fisch ins Aquarium bekommen und möchten diesen Fisch zu unserer Liste hinzufügen. Wir werden den Namen unseres neuen Fischtyps, 'Flunder', an die list.append()-Methode übergeben und dann unsere modifizierte Liste ausdrucken, um zu bestätigen, dass das Element hinzugefügt wurde.

fish.append('flounder')
print(fish)
['barracuda', 'cod', 'devil ray', 'eel', 'flounder']

Jetzt haben wir eine Liste von 5 Zeichenfolgen, die mit dem Element endet, das wir der .append()-Funktion übergeben haben.

list.insert()

Die list.insert(i,x) Methode nimmt zwei Argumente, wobei i die Indexposition ist, an der Sie ein Element hinzufügen möchten, und x das Element selbst ist.

Unser Aquarium hat einen neuen Fisch, eine Sardine, bekommen. Vielleicht ist Ihnen aufgefallen, dass die Liste fish bisher in alphabetischer Reihenfolge ist. Deshalb wollen wir nicht einfach den String 'anchovy' ans Ende der Liste fish mit der Funktion list.append() hinzufügen. Stattdessen verwenden wir list.insert(), um 'anchovy' am Anfang dieser Liste an Indexposition 0 hinzuzufügen:

fish.insert(0,'anchovy')
print(fish)
['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder']

In diesem Fall haben wir das Zeichenfolgen-Element an den Anfang der Liste hinzugefügt. Jedes der nachfolgenden Elemente wird nun an einer neuen Indexnummer sein, da sie alle nach unten verschoben wurden. Daher wird 'barracuda' an Index 1 sein, 'cod' wird an Index 2 sein, und 'flounder' — das letzte Element — wird an Index 5 sein.

Wenn wir an diesem Punkt einen Zwergfisch ins Aquarium bringen und wir die alphabetische Reihenfolge basierend auf der obigen Liste einhalten wollen, würden wir den Artikel an Index 3 setzen: fish.insert(3,'damselfish').

list.erweitern()

Wenn wir mehr als eine Liste kombinieren möchten, können wir die list.extend(L) Methode verwenden, die eine zweite Liste als Argument entgegennimmt.

Unser Aquarium heißt vier neue Fische aus einem anderen Aquarium willkommen, das schließt. Wir haben diese Fische zusammen in der Liste more_fish:

more_fish = ['goby','herring','ide','kissing gourami']

Wir werden jetzt die Elemente aus der Liste more_fish zur Liste fish hinzufügen und die Liste ausdrucken, um sicherzustellen, dass die zweite Liste integriert wurde:

fish.extend(more_fish)
print(fish)
['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder', 'goby', 'herring', 'ide', 'kissing gourami']

An diesem Punkt besteht die Liste fish aus 10 Elementen.

liste.entfernen()

Wenn wir ein Element aus einer Liste entfernen müssen, verwenden wir die Methode list.remove(x), die das erste Element in einer Liste entfernt, dessen Wert dem x entspricht.

Eine Gruppe lokaler Forschungwissenschaftler hat das Aquarium besucht. Sie forschen über die Kussmaul-Buntbarsche. Sie haben uns gebeten, ihnen unsere Kussmaul-Buntbarsche zu leihen, daher möchten wir den Punkt 'kussmaul-buntbarsch' von der Liste entfernen, um diese Änderung widerzuspiegeln:

fish.remove('kissing gourami')
print(fish)
['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder', 'goby', 'herring', 'ide']

Nach der Verwendung der list.remove()-Methode hat unsere Liste den Artikel 'kissing gourami' nicht mehr.

Wenn Sie ein Element für x in list.remove() übergeben, das nicht in der Liste vorhanden ist, erhalten Sie den folgenden Fehler:

ValueError: list.remove(x): x not in list

Beachten Sie, dass list.remove() nur die erste Instanz des Elements entfernt, das Sie übergeben. Wenn wir also zwei Knutschgouramis in unserem Aquarium hatten und nur einen an die Wissenschaftler ausgeliehen haben, könnten wir die gleiche Konstruktion von fish.remove('Knutschgourami') verwenden und hätten immer noch den zweiten Knutschgourami auf unserer Liste.

list.pop()

Wir können die Methode list.pop([i]) verwenden, um das Element an der angegebenen Indexposition aus der Liste zurückzugeben und dann dieses Element zu entfernen. Die eckigen Klammern um das i für den Index zeigen an, dass dieser Parameter optional ist, sodass, wenn wir keinen Index angeben (wie in fish.pop()), das letzte Element zurückgegeben und entfernt wird.

Unser Teufelsrochen ist zu groß für unser Aquarium geworden, und zum Glück kann ein Aquarium in ein paar Städten weiter die Bedürfnisse des Rochen erfüllen. Wir werden .pop() verwenden und die Indexnummer (3) des String-Elements 'Teufelsrochen' angeben, um das Element aus unserer Liste zu entfernen, und durch die Rückgabe werden wir bestätigen, dass wir das richtige Element entfernen.

print(fish.pop(3))
print(fish)
devil ray
['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']

Durch die Verwendung der .pop()-Methode konnten wir 'devil ray' aus der Liste fish zurückgeben und entfernen.

Wenn wir keine Parameter an diese Methode übergeben und fish.pop() ausführen würden, würde das letzte Element 'ide' zurückgegeben und dann aus der Liste entfernt.

list.index()

Wenn Listen lange werden, wird es für uns schwieriger, unsere Elemente zu zählen, um zu bestimmen, an welcher Indexposition sich ein bestimmter Wert befindet. Wir können list.index(x) verwenden, wobei x einem Elementwert entspricht, um den Index in der Liste zurückzugeben, wo sich dieses Element befindet. Wenn es mehr als ein Element mit dem Wert x gibt, gibt diese Methode die erste Indexposition zurück.

print(fish)
print(fish.index('herring'))
['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']
6

Obwohl die Liste fish nicht sehr lang ist, können wir dennoch die Indexposition des Elements 'herring' bestimmen, ohne zu zählen. Der Index jedes Elements ist sehr wichtig, um Listen effektiv manipulieren zu können.

Wir erhalten einen Fehler, wenn wir einen Wert mit .index() angeben und ein solcher Wert in der gegebenen Liste nicht existiert: ValueError: 'x' ist nicht in der Liste.

Liste.kopieren()

Wenn wir mit einer Liste arbeiten und diese auf verschiedene Weise manipulieren möchten, während die ursprüngliche Liste unverändert bleibt, können wir list.copy() verwenden, um eine Kopie der Liste zu erstellen.

Wir werden den Wert, der von fish.copy() zurückgegeben wird, an die Variable fish_2 übergeben und dann den Wert von fish_2 ausgeben, um sicherzustellen, dass es eine Liste mit denselben Elementen wie fish ist.

fish_2 = fish.copy()
print(fish_2)
['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']

An diesem Punkt sind sowohl fish als auch fish_2 gleichwertige Listen.

Liste.umkehren()

Wir können die Reihenfolge der Elemente in einer Liste mit der list.reverse()-Methode umkehren. Vielleicht ist es für uns bequemer, die umgekehrte alphabetische Reihenfolge anstelle der traditionellen alphabetischen Reihenfolge zu verwenden. In diesem Fall müssen wir die .reverse()-Methode mit der fish-Liste verwenden, um die Liste in der Originalreihenfolge umzukehren.

fish.reverse()
print(fish)
['ide', 'herring', 'goby', 'flounder', 'eel', 'cod', 'barracuda', 'anchovy']

Nachdem wir die .reverse()-Methode verwendet haben, beginnt unsere Liste mit dem Element 'ide', das am Ende unserer Liste war, und endet mit 'anchovy', das am Anfang der Liste war.

list.zähle()

Die list.count(x)-Methode gibt die Anzahl der Vorkommen des Wertes x in einer bestimmten Liste zurück. Wir möchten diese Methode möglicherweise verwenden, wenn wir eine lange Liste mit vielen übereinstimmenden Werten haben. Wenn wir zum Beispiel ein größeres Aquarium hätten und für jeden einzelnen Neon-Tetra, den wir haben, einen Gegenstand hätten, könnten wir .count() verwenden, um die Gesamtzahl der Neon-Tetras, die wir zu jedem Zeitpunkt haben, zu bestimmen.

Wir werden unsere aktuelle Liste verwenden, um die Anzahl der Male zu zählen, die das Element 'goby' erscheint:

print(fish.count('goby'))
1

Da der String 'goby' nur einmal erscheint, wird die Zahl 1 zurückgegeben, wenn wir die .count()-Methode verwenden.

Lassen Sie uns diese Methode auch mit einer Liste von Ganzzahlen verwenden. Unser Aquarium hat sich verpflichtet, für jede einzelne Fischart große Sorgfalt walten zu lassen, daher verfolgen wir das Alter jedes unserer Fische, damit wir sicherstellen können, dass ihre Diäten den Bedürfnissen der Fische entsprechend ihrem Alter gerecht werden. Diese zweite Liste, fish_ages, entspricht der Fischart aus unserer anderen Liste, fish.

Da einjährige Fische besondere Ernährungsbedürfnisse haben, werden wir zählen, wie viele einjährige Fische wir haben:

fish_ages = [1,2,4,3,2,1,1,2]
print(fish_ages.count(1))
3

Die ganze Zahl 1 kommt in der Liste fish_ages 3 Mal vor, daher wird, wenn wir die Methode .count() verwenden, die Zahl 3 zurückgegeben.

liste.sortieren()

Wir können die list.sort()-Methode verwenden, um die Elemente in einer Liste zu sortieren.

Genau wie list.count() kann list.sort() deutlicher machen, wie viele bestimmte Ganzzahlwerte wir haben, und es kann auch eine unsortierte Liste von Zahlen in numerische Reihenfolge bringen.

Lass uns die Ganzzahl-Liste fish_ages verwenden, um die .sort() Methode in Aktion zu sehen:

fish_ages.sort()
print(fish_ages)
[1, 1, 1, 2, 2, 2, 3, 4]

Durch die Verwendung von .sort() mit fish_ages werden die ganzzahligen Werte in der richtigen Reihenfolge zurückgegeben. In der Praxis, da diese Alter bestimmten Fischen entsprechen, möchten Sie wahrscheinlich eine Kopie der ursprünglichen Liste anfertigen, bevor Sie sie sortieren.

liste.leeren()

Wenn wir mit einer Liste fertig sind, können wir alle darin enthaltenen Werte mit der Methode list.clear() entfernen.

Die lokale Regierung hat beschlossen, unser Aquarium zu übernehmen und es zu einem öffentlichen Raum für die Menschen in unserer Stadt zu machen, damit sie es genießen können. Da wir nicht mehr selbst am Aquarium arbeiten, müssen wir auch kein Inventar der Fische mehr führen, also lasst uns die Fisch-Liste leeren:

fish.clear()
print(fish)
[]

Nach der Verwendung der .clear()-Funktion auf fish erhalten wir eckige Klammern als Ausgabe, was uns zeigt, dass die Liste jetzt von allen Elementen befreit ist.

Schlussfolgerung

Als eine veränderbare oder änderbare, geordnete Sequenz von Elementen sind Listen sehr flexible Datenstrukturen in Python. Die Methoden von Listen ermöglichen es uns, mit Listen auf eine raffinierte Weise zu arbeiten. Wir können Methoden mit anderen Möglichkeiten kombinieren, um Listen zu modifizieren, um eine vollständige Palette von Werkzeugen zu haben, um Listen effektiv in unseren Programmen zu verwenden. Von hier aus können Sie über Listenverständnisse lesen, um Listen basierend auf vorhandenen Listen zu erstellen.