Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python List Comprehension, Anhängen, Sortieren, Länge [BEISPIELE]

Was ist eine Python-Liste?

Eine Liste ist genau das, wonach es sich anhört, ein Container, der verschiedene Python-Objekte enthält, bei denen es sich um Ganzzahlen, Wörter, Werte usw. handeln kann. Es ist das Äquivalent zu einem Array in anderen Programmiersprachen. Es wird durch eckige Klammern dargestellt (und dies ist eines der Attribute, das es von Tupeln unterscheidet, die durch Klammern getrennt sind). Es ist auch änderbar, dh es kann modifiziert oder aktualisiert werden; im Gegensatz zu Tupeln, die unveränderlich sind.

In diesem Python-Tutorial lernen Sie:

Beispiele für Python-Listen:

Python-Listen können homogen sein, was bedeutet, dass sie denselben Objekttyp enthalten können; oder heterogen, einschließlich verschiedener Arten von Objekten.

Beispiele für homogene Listen sind:

list of integers =  [1, 2, 3, 8, 33]
list of animals = ['dog', 'cat', 'goat']
list of names = ['John', 'Travis', 'Sheila']
list of floating numbers = [2.2, 4.5, 9.8, 10.4]

Beispiele für heterogene Listen sind:

[2, 'cat', 34.33, 'Travis']
[2.22, 33, 'pen']

Auf Werte in Listen zugreifen

Um auf Werte innerhalb von Listen zuzugreifen, kann der Index der Objekte innerhalb der Listen verwendet werden. Ein Index in Python-Listen bezieht sich auf die Position eines Elements innerhalb einer geordneten Liste. Zum Beispiel:

list = [3, 22, 30, 5.3, 20]

usw. Um auf jeden der Werte aus der Liste zuzugreifen, würden Sie Folgendes verwenden:

list[0] to access 3
list[1] to access 22
list[2] to access 30
list[3] to access 5.3
list[4] to access 20

Auf das letzte Element einer Liste kann auch mit dem Index -1 zugegriffen werden. Zum Beispiel

list[-1] = 20

Slicing von Python-Listen

List Slicing ist die Methode, eine Teilmenge einer Liste aufzuteilen, und dazu werden auch die Indizes der Listenobjekte verwendet. Verwenden Sie zum Beispiel das gleiche Listenbeispiel oben;

list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];
list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);
list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)
list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).

Python-Listen sind exklusiv für die Obergrenze, was bedeutet, dass der letzte Index während des Aufteilens von Listen normalerweise ignoriert wird. Deshalb

list[2:-1] = [30, 5.3]

, und nicht [30, 5.3, 20]. Dasselbe gilt für alle anderen oben angegebenen List Slicing-Beispiele.

Listen aktualisieren

Nehmen wir an, Sie haben eine Liste =[Physik, Chemie, Mathematik], und Sie möchten die Liste in [Biologie, Chemie, Mathematik] ändern, wodurch das Element am Index 0 effektiv geändert wird. Dies kann leicht erreicht werden, indem Sie diesen Index dem zuweisen neues Mitglied, das Sie möchten.

Das heißt,

list = [physics, chemistry, mathematics]
    list[0] = biology
    print(list)

Ausgabe:[Biologie, Chemie, Mathematik]

Dadurch wird das Element bei Index 0 (Physik) durch den gewünschten neuen Wert (Chemie) ersetzt. Dies kann für jedes Mitglied oder jede Teilmenge der Liste erfolgen, die Sie ändern möchten.

Um ein weiteres Beispiel zu geben; Nehmen wir an, Sie haben eine Liste mit dem Namen Ganzzahlen, die die Zahlen [2, 5, 9, 20, 27] enthält. Um 5 in dieser Liste durch 10 zu ersetzen, können Sie das tun mit:

integers = [2, 5, 9, 20, 27]
           integers[1] = 10
           print(integers)

>>> [2, 10, 9, 20, 27]

Um das letzte Mitglied der Liste der Ganzzahlen, nämlich 27, durch eine freie Zahl wie 30,5 zu ersetzen, würden Sie Folgendes verwenden:

integers = [2, 5, 9, 20, 27]
           integers[-1] = 30.5
           print(integers)

>>> [2, 5, 9, 20, 30.5]

Listenelemente löschen

Es gibt 3 Python-Methoden zum Löschen von Listenelementen:list.remove(), list.pop() und del-Operator. Die Remove-Methode nimmt das zu entfernende Element als Argument, während pop und del den Index des zu entfernenden Elements als Argument verwenden. Zum Beispiel:

Liste =[3, 5, 7, 8, 9, 20]

Um 3 (das 1. Element) aus der Liste zu löschen, könnten Sie Folgendes verwenden:

Um 8, das Element bei Index 3, aus der Liste zu löschen, könnten Sie Folgendes verwenden:

Anhängen von Listenelementen

Um Elemente an eine Liste anzuhängen, wird die Append-Methode verwendet, die das Element an das Ende der Liste anfügt.

Zum Beispiel:

list_1 = [3, 5, 7, 8, 9, 20]
    list_1.append(3.33)
    print(list_1)

    >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]

    list_1.append("cats")
    print(list_1)
    >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]

Integrierte Funktionen (Methoden) auflisten

Das Folgende ist eine Liste der eingebauten Funktionen und Methoden mit ihren Beschreibungen:

numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
numbers = [2, 5, 7, 9, 15]
numbers.pop(2)
print(numbers)
>>> [2, 5, 9, 15]
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
values = [2, 5, 10]
sum_of_values = sum(values)
print(sum_of_values)

>>> 17

Wenn die Liste ein Element enthält, das keine Zahl ist, z. B. eine Zeichenfolge, würde die sum-Methode nicht funktionieren. Sie würden eine Fehlermeldung erhalten, die besagt:„TypeError :nicht unterstützte(r) Operandentyp(en) für +:‚int‘ und ‚str‘“

values = [1, 7, 9, 3, 5]
# To sort the values in ascending order:
values.sort()
print(values)

>>> [1, 3, 5, 7, 9]

Ein weiteres Beispiel:

values = [2, 10, 7, 14, 50]
# To sort the values in descending order:
values.sort(reverse = True)
print(values)

>>> [50, 14, 10, 7, 2]

Eine Liste von Zeichenfolgen kann auch sortiert werden, entweder alphabetisch oder nach Länge der Zeichenfolgen. Zum Beispiel;

# to sort the list by length of the elements
strings = ['cat', 'mammal', 'goat', 'is']
sort_by_alphabet = strings.sort()
sort_by_length = strings.sort(key = len)
print(sort_by_alphabet)
print(sort_by_length)

>>> ['cat', 'goat', 'is', 'mammal']
        ['is', 'cat', 'goat', 'mammal']

Wir können dieselbe Liste alphabetisch sortieren, indem wir „Strings“ verwenden.

Listen durchlaufen

Das Durchlaufen von Listen kann genauso erfolgen wie jede andere Schleifenfunktion in Python. Auf diese Weise kann eine Methode auf mehreren Elementen einer Liste gleichzeitig ausgeführt werden. Zum Beispiel:

Liste =[10, 20, 30, 40, 50, 60, 70].

Um alle Elemente dieser Liste zu durchlaufen, und sagen wir, 10 zu jedem Element hinzuzufügen:

for elem in list:
        elem = elem + 5
        print(elem)
    
    >>>>15
        25
        35
        45
        55
        65
        75

Um die ersten drei Elemente der Liste zu durchlaufen und alle zu löschen;

for elem in list[:3]:
    list.remove(elem)

    >>>list = [40, 50, 60, 70]

Zum Durchlaufen der 3. rd (Index 2) bis zum letzten Element in der Liste und hängen sie an eine neue Liste namens new_list:

an
new_list = []	
    for elem in list[2:]:
        new_list.append(elem)
        print(“New List: {}”.format(new_list))
    
   Output:
	New List: [30, 40, 50, 60, 70]

Auf diese Weise kann jede Methode oder Funktion auf die Mitglieder einer Liste angewendet werden, um eine bestimmte Operation auszuführen. Sie können entweder alle Mitglieder der Liste durchlaufen oder eine Teilmenge der Liste durchlaufen, indem Sie List Slicing verwenden.

Listenverständnis-Python

List Comprehensions sind Python-Funktionen, die zum Erstellen neuer Sequenzen (z. B. Listen, Wörterbücher usw.) unter Verwendung bereits erstellter Sequenzen verwendet werden. Sie tragen dazu bei, längere Schleifen zu reduzieren und Ihren Code leichter lesbar und wartungsfreundlicher zu machen.

Zum Beispiel; Angenommen, Sie wollten eine Liste erstellen, die die Quadrate aller Zahlen von 1 bis 9 enthält:

list_of squares = []
    for int in range(1, 10):
        square = int ** 2
        list_of_squares.append(square)

    print(list_of_squares)

List_of_squares using for loop:

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

Um dasselbe mit Listenverständnissen zu tun:

list_of_squares_2 = [int**2 for int in range(1, 10)]

    print('List of squares using list comprehension: {}'.format(list_of_squares_2))

Output using list comprehension:

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

Wie oben zu sehen ist, ist das Schreiben des Codes mit List Comprehensions viel kürzer als die Verwendung traditioneller for-Schleifen und auch schneller. Dies ist nur ein Beispiel für die Verwendung von Listenverständnissen anstelle von for-Schleifen, aber dies kann repliziert und an vielen Stellen verwendet werden, an denen auch for-Schleifen verwendet werden können. Manchmal ist es die bessere Option, mit einer for-Schleife zu arbeiten, besonders wenn der Code komplex ist, aber in vielen Fällen wird das Listenverständnis Ihre Codierung einfacher und schneller machen.

Nachfolgend finden Sie eine Tabelle mit einigen Listenfunktionen und -methoden sowie deren Beschreibungen.

Integrierte Funktionen

FUNKTION BESCHREIBUNG
Runde() Rundet die als Argument übergebene Zahl auf eine angegebene Anzahl von Ziffern und gibt den Gleitkommawert zurück
Min() Mindestelement einer gegebenen Liste zurückgeben
Max() gibt das maximale Element einer gegebenen Liste zurück
len() Gibt die Länge der Liste zurück
Aufzählen() Diese integrierte Funktion generiert sowohl die Werte als auch die Indizes von Elementen in einer Iterable, sodass wir nicht manuell zählen müssen
Filter() testet, ob jedes Element einer Liste wahr ist oder nicht
Lambda Ein Ausdruck, der an Stellen erscheinen kann, an denen ein def (zum Erstellen von Funktionen) nicht syntaktisch ist, innerhalb eines Listenliterals oder der Aufrufargumente einer Funktion
Karte() gibt eine Liste der Ergebnisse zurück, nachdem die gegebene Funktion auf jedes Element eines gegebenen Iterables angewendet wurde
Akkumulieren() wende eine bestimmte, in ihrem Argument übergebene Funktion auf alle Listenelemente an, gibt eine Liste zurück, die die Zwischenergebnisse enthält
Summe() Gibt die Summe aller Zahlen in der Liste zurück
Cmp() Dies wird zum Vergleichen zweier Listen verwendet und gibt 1 zurück, wenn die erste Liste größer als die zweite Liste ist.
Einfügen Element zum Auflisten an bestimmter Position einfügen

Listenmethoden

FUNKTION BESCHREIBUNG
Anhängen() Fügt ein neues Element am Ende der Liste hinzu
Löschen() Entfernt alle Elemente aus der Liste
Kopieren() Gibt eine Kopie der ursprünglichen Liste zurück
Erweitern() Fügen Sie viele Elemente am Ende der Liste hinzu
Anzahl() Gibt die Anzahl der Vorkommen eines bestimmten Elements in einer Liste zurück
Index() Gibt den Index eines bestimmten Elements einer Liste zurück
Pop() Löscht Element aus der Liste an einem bestimmten Index (Löschen nach Position)
Entfernen() Löscht das angegebene Element aus der Liste (Löschen nach Wert)
Umgekehrt() In-Place-Umkehrmethode, die die Reihenfolge der Elemente der Liste umkehrt

Zusammenfassung


Python

  1. Python-Datentypen
  2. Python-Operatoren
  3. Python-pass-Anweisung
  4. Python-Funktionsargumente
  5. Python-Wörterbuch
  6. Python-Iteratoren
  7. Python-Schließungen
  8. Python-Datetime
  9. Python-Durchschnitt:So finden Sie den DURCHSCHNITT einer Liste in Python
  10. Python List count() mit BEISPIELE