Lernen Sie die Struktur der Python-Listendaten – Teil 1
Was ist der Unterschied zwischen veränderlichen / unveränderlichen Objekten?
Veränderbare Objekte
- Objekte, deren Status nach dem Erstellen geändert werden kann, z. B. Hinzufügen, Aktualisieren oder Löschen von Elementen.
- Listen, Wörterbuch, Set und Bytearray sind veränderbare Objekttypen in Python.
Unveränderliche Objekte
- Der Objektstatus kann nicht geändert werden. Sobald das Objekt erstellt wurde, können wir keine Elemente mehr hinzufügen, entfernen oder aktualisieren.
- String, Integer, Tuples, Frozenset sind einige der unveränderlichen Objekttypen in Python.
Was ist der Unterschied zwischen homogener und heterogener Datenstruktur?
- Homogene Datenstruktur – Datenelemente haben denselben Datentyp (z. B. Array).
- Heterogene Datenstruktur – Datenelemente haben möglicherweise nicht denselben Datentyp (z. B. Liste, Tupel, Mengen usw.).
Was sind primitive und nicht-primitive Datentypen?
Bevor wir die Funktionalität der integrierten Datenstruktur verstehen, sehen wir uns einige integrierte Funktionen an, die mit Datenstrukturobjekten verwendet werden.
- dir (obj) – eine integrierte Funktion, die das Attribut und die Methoden zurückgibt.
- len (obj) – Geben Sie die Länge (die Anzahl der Elemente) eines Objekts zurück. Das Argument kann eine Sequenz (z. B. eine Zeichenfolge, Bytes, ein Tupel, eine Liste oder ein Bereich) oder eine Sammlung (z. B. ein Wörterbuch, eine Menge oder eine eingefrorene Menge) sein.
- des – Dieses integrierte Schlüsselwort wird verwendet, um ein Objekt aus einem Namespace zu löschen oder Elemente aus einem Objekt wie eine Liste, ein Wörterbuch usw. zu entfernen.
- Typ (obj) – Die Funktion type () gibt entweder den Typ des Objekts zurück oder gibt basierend auf den übergebenen Argumenten ein neues Typobjekt zurück.
- Ich würde() – Diese Funktion gibt die “Identität” eines Objekts zurück. Dies ist eine Ganzzahl, die für dieses Objekt während seiner Lebensdauer garantiert eindeutig und konstant ist.
Nachdem Sie einige wichtige Details gesehen haben, lassen Sie uns mit den Python-Datenstrukturen fortfahren.
Python kommt mit eingebautem Datenstrukturen sowie Benutzer können ihre eigenen Datenstrukturen definieren. Die eingebaute Datenstruktur umfasst AUFFÜHREN, WÖRTERBUCH, TUPLE, und EINSTELLEN. Einige Beispiele für benutzerdefinierte Datenstrukturen sind STAPEL, QUEUES, BAUM, HASHMAP, etc…
Leute, die aus anderen Programmiersprachen kommen, sind mit einem Array-Typ sehr vertraut. Aber in Python sind sie nicht so häufig.
Hier ähnelt die Liste einem Array, aber die Liste ermöglicht es uns, Werte eines beliebigen Datentyps (heterogen) zu speichern, während das Array nur Daten eines bestimmten Typs enthält (int, float usw.). Um ein Array zu verwenden, müssen Sie das Array explizit aus dem Modul “Array” importieren.
In dieser Python-Artikelserie werden wir uns ansehen, was a ist Datenstruktur und In Python integrierte Datenstruktur.
AUFFÜHREN
Aufführen ist eine Datenstruktur, die eine Sammlung verschiedener Datentypen ist. Was macht “Sammlung verschiedener Datentypen” meint? Aufführen kann Zeichenfolgen, Ganzzahlen, Gleitkommawerte, verschachtelte Listen usw. speichern.
Aufführen Objekte sind “VeränderlichDies bedeutet, dass auf Elemente, die in der Liste erstellt wurden, zugegriffen, geändert oder gelöscht werden kann. Indizierung der Listenunterstützung. Jedes Element in den Listen ist einer Adresse zugeordnet, und diese Adresse kann verwendet werden, um auf den bestimmten Elementwert zuzugreifen oder diesen zu ändern.
- Erstelle eine Liste
- Liste einfügen / zugreifen / ändern
- Liste löschen
ERSTELLE LISTE
Die Liste kann in eckigen Klammern erstellt werden.
>>> name_empty = [] # Empty list >>> name = ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] # list with string data type >>> name_int = [1,2,3] # list with Integer data type >>> name_mixed = [name_int,name,1,2,3.14] # list with nested list items. >>> name_mixed [[1, 2, 3], ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'], 1, 2, 3.14] >>> name_int [1, 2, 3]
Wir können eingebaute verwenden type()
Funktion zum Überprüfen des Objekttyps.
>>> type(name)
Wir können auf die zugreifen Methoden und Attribute des aufführen Instanz mit dir()
Funktion.
>>> dir(name) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Wir können die Gesamtzahl der Elemente in der Liste mit herausfinden len()
Methode.
>>> len(name)
Wir können eine neue Liste aus einer vorhandenen Liste mit erstellen list.copy()
Methode.
>>> name_new = name.copy() >>> name_new ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
EINFÜGEN / ZUGRIFFEN / ÄNDERN DER LISTE
Wir können ein Element an jeder Position mit in eine Liste einfügen list.insert(i, x)
Methode.
>>> name = ['Leo','Matt','Kane','Scott','Petter','Will'] >>> name ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.insert(0,'Tom') # Insert method takes 2 arguments (Index position, Item) >>> name ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] # Tom is inserted at the 0th position.
Wir können benutzen list.append(x)
Methode zum Anhängen eines einzelnen Elements an die Liste. Dadurch wird das Element am Ende der Liste eingefügt.
>>> name = [] >>> len(name) 0 >>> name.append('Leo') >>> name.append('Matt') >>> name.append('Kane') >>> print(name) ['Leo', 'Matt', 'Kane']
Wir können benutzen list.extend()
Methode zum Hinzufügen mehrerer Elemente zur Liste.
>>> new_name = ['Gowtham','Martin','Luis'] >>> name.extend(new_name) >>> name ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']
Wir können auch verwenden '+'
Operator, um zwei Listen zu kombinieren. Beide Listen können unterschiedliche Datentypen haben.
>>> a = [1,2,3] >>> b = [2,3,3] >>> c = a + b >>> c [1, 2, 3, 2, 3, 3] >>> d = ['karthi','kenny'] >>> e = a + d >>> e [1, 2, 3, 'karthi', 'kenny']
Wie bereits erwähnt, sind Listenobjekte veränderlich. Ein Listenelement kann geändert werden, indem auf die Indexposition verwiesen und ihr ein Wert zugewiesen wird.
>>> name # Before modified ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name[0] = 'Karthi' >>> name # After Modified ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
Das aufführen unterstützt sowohl positive als auch negative Indizierung.
Die Indizierung beginnt ab 0 und Negative Indizierung beginnt ab -1.
Wir können über ihre Indexposition auf das Listenelement zugreifen.
>>> name[0] # Accessing the List item at index 0 'Leo' >>> name[1] 'Matt' >>> name[4] 'Petter' >>> name[5] 'Will' >>> name[-1] # Accessing the list item with negative indexing 'Will' >>> name[-6] 'Leo'
Wir können auch Slicing verwenden, um auf die Elemente in der Liste zuzugreifen. Durch das Schneiden können wir auf eine Reihe von Elementen zugreifen, indem wir die Parameter Start, Ende und Schritt definieren.
# SYNTAX: list[starting position, ending position, Step] >>> name[0:3] ['Tom', 'Leo', 'Matt'] >>> name[:] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name[:4] ['Tom', 'Leo', 'Matt', 'Kane'] >>> name[:-2] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott'] >>> name[:-1] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter'] >>> name[:-1:2] ['Tom', 'Matt', 'Scott']
Wir können die Anzahl der Vorkommen für einen bestimmten Wert mit ermitteln list.count(x)
Methode.
>>> name_int = [1,1,2,3,1] >>> name_int.count(1) 3
Wir können die Indexposition eines bestimmten Elements mithilfe von ermitteln list.index(x[, start[, end]])
Methode.
>>> name # Inserted ‘Will’ at the end of the list. Now we have 2 name ‘Will’. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will'] >>> name.index('Will) # Returns the index position of first occurence of x. 0 >>> name.index('Will',2) # Starting index positon’2’ is given. 7 >>> name.index('Will',2,4) # Starting and Ending Index position is given. Since there is no occurence of ‘Will’ within the given search position it will throw Value Error. Traceback (most recent call last): File "", line 1, in ValueError: 'Will' is not in list
Wir können benutzen list.reverse()
Methode zum Umkehren der Elemente in der Liste.
>>> name ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.reverse() >>> name ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi']
LISTE LÖSCHEN
Wir können benutzen list.pop(x)
Methode zum Entfernen eines Elements aus einer Liste unter x
Position. Diese Funktion entfernt das Element aus der Liste und zeigt das entfernte Element an. Wenn x
wird dann nicht angegeben pop()
Die Methode gibt das letzte Element aus der Liste zurück.
>>> name ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis'] >>> name.pop(0) 'Will' >>> name ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis'] >>> name.pop() 'Luis'
Wir können auch verwenden list.remove (x)
Methode zum Entfernen des Elements aus der Liste. Hier x
nimmt den Wert des Gegenstands und wirft einen ValueError wenn x
ist nicht in der Liste.
>>> name = ['Leo','Matt','Kane','Scott','Petter','Will'] >>> name.remove('Leo') >>> name ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.remove('Leo') Traceback (most recent call last): File "", line 1, in ValueError: list.remove(x): x not in list
Wir können eine Liste leer machen, indem wir entweder den Listennamen eckigen Klammern zuweisen oder verwenden list.clear()
Methode.
>>> name1 = name.copy() >>> name1 ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin'] >>> name ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin'] >>> name = [] >>> name [] >>> name1.clear() >>> name1 []
Anstatt Listenmethoden zu verwenden, um die Liste leer zu machen oder ein Element aus der Liste zu entfernen, können wir das integrierte Schlüsselwort verwenden del
um diese Aktionen auszuführen. Das “des” Das Schlüsselwort kann ein Listenobjekt aus dem Speicher löschen oder ein Element aus einer Liste löschen oder ein Element aus einem Slice löschen.
>>> name = ['Leo','Matt','Kane','Scott','Petter','Will'] >>> del name[0] >>> name ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> del name[-3:] >>> name ['Matt', 'Kane'] >>> del name[:] >>> name []
Eingebaut id()
Funktion Rückgabe der “Identität”Eines Objekts. Dies ist eine Ganzzahl, die für dieses Objekt während seiner Lebensdauer garantiert eindeutig und konstant ist.
>>> id(name) 139979929658824 >>> del name >>> id(name) Traceback (most recent call last): File "", line 1, in NameError: name 'name' is not defined
Hinweis: Wir haben die Listenvariable mit aus dem Speicher entfernt del()
Daher wird ein Namensfehler ausgegeben.
help() funtion:
Eingebaute Hilfe function()
ist sehr nützlich, um Details zu einem bestimmten Objekt oder zu Methoden dieses Objekts abzurufen.
help(object) help(object.method)
Zusammenfassung
Bisher haben wir in diesem Artikel gesehen, wie wir a verwenden können Listendatenstruktur zum Speichern, Zugreifen auf, Ändern und Löschen von Listenobjekten mithilfe der Listenmethoden. Wir haben auch einige eingebaute Funktionen wie gesehen Ich würde(), dir(), Art(), Hilfe() Das sind sehr effektive Funktionen. Wir haben auch Listenverständnis in Python, das eine präzisere und lesbarere Möglichkeit zum Erstellen einer Liste bietet.