Heim > Artikel > Backend-Entwicklung > Detailliertes Beispiel für die Implementierung der Listenmethode in Python3
Python3-Listensequenz ist die grundlegendste Datenstruktur in Python. Der folgende Artikel stellt Ihnen hauptsächlich die relevanten Informationen zur Listenmethode von Python3-Studiennotizen vor, die für Sie sehr nützlich sind Es hat einen gewissen Referenz- und Lernwert, und Freunde in Not können sich darauf beziehen.
Vorwort
Dieser Artikel stellt Ihnen hauptsächlich den relevanten Inhalt der Python3-Listenmethode vor und gibt ihn als Referenz und zum Studium weiter Im Folgenden gibt es nicht viel zu sagen. Werfen wir jedoch einen Blick auf die ausführliche Einführung.
1 Verwenden Sie [] oder list(), um eine Liste zu erstellen
user = [] user = list()
2 Verwenden Sie list(), um andere Typen in Listen umzuwandeln
# 将字符串转成列表 >>> list('abcde') ['a', 'b', 'c', 'd', 'e'] # 将元祖转成列表 >>> list(('a','b','c')) ['a', 'b', 'c']
3 Verwenden Sie [Offset], um Elemente abzurufen oder Elemente zu ändern
>>> users = ['a','b','c','d','e'] # 可以使用整数来获取某个元素 >>> users[0] 'a' # 可以使用负整数来表示从尾部获取某个元素 >>> users[-1] 'e' # 数组越界会报错 >>> users[100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range >>> users[-100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range # 修改某个元素 >>> users[0] = 'wdd' >>> users ['wdd', 'b', 'c', 'd', 'e'] >>>
4 Listen-Slicing und Extrahieren Elemente
Nach dem Schneiden oder Extrahieren der Liste handelt es sich immer noch um eine Liste
in der Form: list[start:end:step]
>>> users ['wdd', 'b', 'c', 'd', 'e'] # 正常截取 注意这里并不会截取到users[2] >>> users[0:2] ['wdd', 'b'] # 也可从尾部截取 >>> users[0:-2] ['wdd', 'b', 'c'] # 这样可以获取所有的元素 >>> users[:] ['wdd', 'b', 'c', 'd', 'e'] # 也可以加上步长参数 >>> users[0:4:2] ['wdd', 'c'] # 也可以通过这种方式去将列表取反 >>> users[::-1] ['e', 'd', 'c', 'b', 'wdd'] # 注意切片时,偏移量可以越界,越界之后不会报错,仍然按照界限来处理 例如开始偏移量如果小于0,那么仍然会按照0去计算。 >>> users ['wdd', 'b', 'c', 'd', 'e'] >>> users[-100:3] ['wdd', 'b', 'c'] >>> users[-100:100] ['wdd', 'b', 'c', 'd', 'e'] >>>
5 Verwenden Sie append(), um Elemente am Ende hinzuzufügen
Die Form ist: list.append(item)
>>> users ['wdd', 'b', 'c', 'd', 'e'] >>> users.append('ddw') >>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw']
6 Verwenden Sie extension() oder +=, um Listen zusammenzuführen
in der Form: list1.extend(list2)
Beide Methoden ändern direkt die ursprüngliche Liste
>>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw'] >>> names ['heihei', 'haha'] >>> users.extend(names) >>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha'] >>> users += names >>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha']
7 Verwenden Sie insert(), um Elemente an der angegebenen Position einzufügen.
hat die Form: list.insert(offset, item)
Es gibt kein Problem mit dem Aus Grenzen beim Einfügen. Nach dem Überschreiten der Grenze wird automatisch auf den Grenzwert skaliert und es wird kein Fehler gemeldet
>>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha'] >>> users.insert(0,'xiaoxiao') >>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha'] >>> users.insert(-1,'-xiaoxiao') >>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha'] # 下面-100肯定越界了 >>> users.insert(-100,'-xiaoxiao') >>> users ['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha'] # 下面100也是越界了 >>> users.insert(100,'-xiaoxiao') >>> users ['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
8 Verwenden Sie del, um ein Element zu löschen.
hat die folgende Form: del list[offset]
del ist eine Python-Anweisung. keine Listenmethode. Wenn del nicht vorhandene Elemente löscht, wird auch ein Out-of-bounds
>>> users ['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] >>> del users[0] >>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] >>> del users[100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range >>> del users[-100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range
9 angezeigt um Elemente mit angegebenen Werten
in der Form zu löschen: list.remove(value)
>>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] # 删除指定值'c' >>> users.remove('c') >>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] # 删除不存在的值会报错 >>> users.remove('alsdkfjalsdf') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list # 如果该值存在多个,那么只能删除到第一个 >>> users.remove('haha') >>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
10 Verwenden Sie pop(), um ein Element zurückzugeben und es im Array zu löschen
hat die Form: list.pop(offset=-1)
Der Standardoffset ist gleich -1 , das heißt, das letzte Element wird gelöscht
>>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] # 删除最后的元素 >>> users.pop() '-xiaoxiao' >>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] # 如果列表本身就是空的,那么pop时会报错 >>> user.pop(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop from empty list >>> users.pop(0) 'xiaoxiao' >>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] # 越界时也会报错 >>> users.pop(100) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop index out of range
11 Verwenden Sie index(), um die Position von Elementen mit bestimmten Werten abzufragen
in der Form: list.index(value)
# index只会返回第一遇到该值得位置 >>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> users.index('heihei') 5 # 如果该值不存在,也会报错 >>> users.index('laksdf') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 'laksdf' is not in list
12 Zur Bestimmung verwenden ob der Wert in der Liste vorhanden ist
Die Form ist: value in list
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> 'wdd' in users True
13 Verwenden Sie count(), um die Häufigkeit aufzuzeichnen, mit der ein bestimmter Wert erscheint
Die Form ist: list.count(value)
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> users.count('heihei') 2 >>> users.count('h') 0
14 Verwenden Sie join(), um die Liste in einen String
in der Form umzuwandeln: string.join(list)
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> ','.join(users) 'wdd,b,d,e,ddw,heihei,heihei,-xiaoxiao,haha' >>> user [] >>> ','.join(user) ''
15 Verwenden Sie sort(), um Listenelemente
in der Form neu anzuordnen: list.sort()
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] # 默认是升序排序 >>> users.sort() >>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] # 加入reverse=True, 可以降序排序 >>> users.sort(reverse=True) >>> users ['wdd', 'heihei', 'heihei', 'haha', 'e', 'ddw', 'd', 'b', '-xiaoxiao'] # 通过匿名函数,传入函数进行自定义排序 >>> students [{'name': 'wdd', 'age': 343}, {'name': 'ddw', 'age': 43}, {'name': 'jik', 'age': 90}] >>> students.sort(key=lambda item: item['age']) >>> students [{'name': 'ddw', 'age': 43}, {'name': 'jik', 'age': 90}, {'name': 'wdd', 'age': 343}] >>> students.sort(key=lambda item: item['age'], reverse=True) >>> students [{'name': 'wdd', 'age': 343}, {'name': 'jik', 'age': 90}, {'name': 'ddw', 'age': 43}] >>>
16 Verwenden Sie reverse(), um die Liste in der Form
list.reverse()
>>> users ['wdd', 'heihei', 'heihei', 'haha', 'e', 'ddw', 'd', 'b', '-xiaoxiao'] >>> users.reverse() >>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
17 Verwenden Sie copy(), um die Liste zu kopieren
list2 = list1.copy()
Dies ist keine Kopie der Liste, sondern gibt der Liste lediglich einen Alias. Tatsächlich weist es immer noch auf denselben Wert hin. list2 = list1
>>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>> users2 = users.copy() >>> users2 ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>>
18 Verwenden Sie clear(), um die Liste zu löschen
list.clear()
>>> users2 ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>> users2.clear() >>> users2 []
19 Verwenden Sie len(), um die Länge der Liste zu erhalten
len(list)
>>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>> len(users) 9
20 Ausführliche Gedanken zu Listenverstößen
Lesen oder Ändern eines Elements list[offset]
Löschen Sie das Element an der angegebenen Positiondel list[offset]
list.remove(value)
Element mit dem angegebenen Wert löschen
list.pop(offset)
Element mit der angegebenen Position löschen
Wenn der Offset außerhalb der Grenzen liegt, melden diese Methoden einen Fehler. Mein persönliches Verständnis ist:
Wenn ich das Element mit Offset 10 lesen möchte, das Element aber nicht existiert, wenn das System automatisch das letzte Element der Liste für Sie liest und wenn Sie es nicht tun Ich melde keinen Fehler, das ist ein unerträglicher Fehler. Wenn ich das 10. Element löschen möchte, das 10. Element aber nicht existiert und das System das letzte Element der Liste für Sie löscht, halte ich das für untragbar.
Wenn Sie diese Methoden verwenden, stellen Sie sicher, dass Sie überprüfen, ob das Element am Offset vorhanden ist, da andernfalls möglicherweise ein Fehler gemeldet wird.
Zusammenfassung
Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Implementierung der Listenmethode in Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!