Heim > Backend-Entwicklung > Python-Tutorial > Detailliertes Beispiel für die Implementierung der Listenmethode in Python3

Detailliertes Beispiel für die Implementierung der Listenmethode in Python3

黄舟
Freigeben: 2017-10-09 10:38:09
Original
1621 Leute haben es durchsucht

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()
Nach dem Login kopieren

2 Verwenden Sie list(), um andere Typen in Listen umzuwandeln


# 将字符串转成列表
>>> list('abcde')
['a', 'b', 'c', 'd', 'e']

# 将元祖转成列表
>>> list(('a','b','c'))
['a', 'b', 'c']
Nach dem Login kopieren

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] = &#39;wdd&#39;
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;]
>>>
Nach dem Login kopieren

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
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;]
# 正常截取 注意这里并不会截取到users[2]
>>> users[0:2]
[&#39;wdd&#39;, &#39;b&#39;]
# 也可从尾部截取
>>> users[0:-2]
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;]
# 这样可以获取所有的元素
>>> users[:]
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;]
# 也可以加上步长参数
>>> users[0:4:2]
[&#39;wdd&#39;, &#39;c&#39;]
# 也可以通过这种方式去将列表取反
>>> users[::-1]
[&#39;e&#39;, &#39;d&#39;, &#39;c&#39;, &#39;b&#39;, &#39;wdd&#39;]

# 注意切片时,偏移量可以越界,越界之后不会报错,仍然按照界限来处理 例如开始偏移量如果小于0,那么仍然会按照0去计算。
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;]
>>> users[-100:3]
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;]
>>> users[-100:100]
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;]
>>>
Nach dem Login kopieren

5 Verwenden Sie append(), um Elemente am Ende hinzuzufügen

Die Form ist: list.append(item)


>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;]
>>> users.append(&#39;ddw&#39;)
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;]
Nach dem Login kopieren

6 Verwenden Sie extension() oder +=, um Listen zusammenzuführen

in der Form: list1.extend(list2)

Beide Methoden ändern direkt die ursprüngliche Liste


>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;]
>>> names
[&#39;heihei&#39;, &#39;haha&#39;]
>>> users.extend(names)
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;]
>>> users += names
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;haha&#39;]
Nach dem Login kopieren

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
[&#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;haha&#39;]
>>> users.insert(0,&#39;xiaoxiao&#39;)
>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;haha&#39;]
>>> users.insert(-1,&#39;-xiaoxiao&#39;)
>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
# 下面-100肯定越界了
>>> users.insert(-100,&#39;-xiaoxiao&#39;)
>>> users
[&#39;-xiaoxiao&#39;, &#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
# 下面100也是越界了
>>> users.insert(100,&#39;-xiaoxiao&#39;)
>>> users
[&#39;-xiaoxiao&#39;, &#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
Nach dem Login kopieren

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
[&#39;-xiaoxiao&#39;, &#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
>>> del users[0]
>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
>>> 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
Nach dem Login kopieren

9 angezeigt um Elemente mit angegebenen Werten

in der Form zu löschen: list.remove(value)


>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
# 删除指定值&#39;c&#39;
>>> users.remove(&#39;c&#39;)
>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
# 删除不存在的值会报错
>>> users.remove(&#39;alsdkfjalsdf&#39;)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
# 如果该值存在多个,那么只能删除到第一个
>>> users.remove(&#39;haha&#39;)
>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
Nach dem Login kopieren

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
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;, &#39;-xiaoxiao&#39;]
# 删除最后的元素
>>> users.pop()
&#39;-xiaoxiao&#39;
>>> users
[&#39;xiaoxiao&#39;, &#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
# 如果列表本身就是空的,那么pop时会报错
>>> user.pop(0)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: pop from empty list
>>> users.pop(0)
&#39;xiaoxiao&#39;
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
# 越界时也会报错
>>> users.pop(100)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: pop index out of range
Nach dem Login kopieren

11 Verwenden Sie index(), um die Position von Elementen mit bestimmten Werten abzufragen

in der Form: list.index(value)


# index只会返回第一遇到该值得位置
>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
>>> users.index(&#39;heihei&#39;)
5

# 如果该值不存在,也会报错
>>> users.index(&#39;laksdf&#39;)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: &#39;laksdf&#39; is not in list
Nach dem Login kopieren

12 Zur Bestimmung verwenden ob der Wert in der Liste vorhanden ist

Die Form ist: value in list


>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
>>> &#39;wdd&#39; in users
True
Nach dem Login kopieren

13 Verwenden Sie count(), um die Häufigkeit aufzuzeichnen, mit der ein bestimmter Wert erscheint

Die Form ist: list.count(value)


>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
>>> users.count(&#39;heihei&#39;)
2
>>> users.count(&#39;h&#39;)
0
Nach dem Login kopieren

14 Verwenden Sie join(), um die Liste in einen String

in der Form umzuwandeln: string.join(list)


>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
>>> &#39;,&#39;.join(users)
&#39;wdd,b,d,e,ddw,heihei,heihei,-xiaoxiao,haha&#39;
>>> user
[]
>>> &#39;,&#39;.join(user)
&#39;&#39;
Nach dem Login kopieren

15 Verwenden Sie sort(), um Listenelemente

in der Form neu anzuordnen: list.sort()


>>> users
[&#39;wdd&#39;, &#39;b&#39;, &#39;d&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;-xiaoxiao&#39;, &#39;haha&#39;]
# 默认是升序排序
>>> users.sort()
>>> users
[&#39;-xiaoxiao&#39;, &#39;b&#39;, &#39;d&#39;, &#39;ddw&#39;, &#39;e&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;wdd&#39;]
# 加入reverse=True, 可以降序排序
>>> users.sort(reverse=True)
>>> users
[&#39;wdd&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;d&#39;, &#39;b&#39;, &#39;-xiaoxiao&#39;]

# 通过匿名函数,传入函数进行自定义排序
>>> students
[{&#39;name&#39;: &#39;wdd&#39;, &#39;age&#39;: 343}, {&#39;name&#39;: &#39;ddw&#39;, &#39;age&#39;: 43}, {&#39;name&#39;: &#39;jik&#39;, &#39;age&#39;: 90}]
>>> students.sort(key=lambda item: item[&#39;age&#39;])
>>> students
[{&#39;name&#39;: &#39;ddw&#39;, &#39;age&#39;: 43}, {&#39;name&#39;: &#39;jik&#39;, &#39;age&#39;: 90}, {&#39;name&#39;: &#39;wdd&#39;, &#39;age&#39;: 343}]
>>> students.sort(key=lambda item: item[&#39;age&#39;], reverse=True)
>>> students
[{&#39;name&#39;: &#39;wdd&#39;, &#39;age&#39;: 343}, {&#39;name&#39;: &#39;jik&#39;, &#39;age&#39;: 90}, {&#39;name&#39;: &#39;ddw&#39;, &#39;age&#39;: 43}]
>>>
Nach dem Login kopieren

16 Verwenden Sie reverse(), um die Liste in der Form
< umzudrehen 🎜>

Zum Beispiel:

list.reverse()


>>> users
[&#39;wdd&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;haha&#39;, &#39;e&#39;, &#39;ddw&#39;, &#39;d&#39;, &#39;b&#39;, &#39;-xiaoxiao&#39;]
>>> users.reverse()
>>> users
[&#39;-xiaoxiao&#39;, &#39;b&#39;, &#39;d&#39;, &#39;ddw&#39;, &#39;e&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;wdd&#39;]
Nach dem Login kopieren

17 Verwenden Sie copy(), um die Liste zu kopieren

Formulare wie:

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
[&#39;-xiaoxiao&#39;, &#39;b&#39;, &#39;d&#39;, &#39;ddw&#39;, &#39;e&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;wdd&#39;]
>>> users2 = users.copy()
>>> users2
[&#39;-xiaoxiao&#39;, &#39;b&#39;, &#39;d&#39;, &#39;ddw&#39;, &#39;e&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;wdd&#39;]
>>>
Nach dem Login kopieren

18 Verwenden Sie clear(), um die Liste zu löschen

Das Format lautet wie folgt:

list.clear()


>>> users2
[&#39;-xiaoxiao&#39;, &#39;b&#39;, &#39;d&#39;, &#39;ddw&#39;, &#39;e&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;wdd&#39;]
>>> users2.clear()
>>> users2
[]
Nach dem Login kopieren

19 Verwenden Sie len(), um die Länge der Liste zu erhalten

Formular Zum Beispiel:

len(list)


>>> users
[&#39;-xiaoxiao&#39;, &#39;b&#39;, &#39;d&#39;, &#39;ddw&#39;, &#39;e&#39;, &#39;haha&#39;, &#39;heihei&#39;, &#39;heihei&#39;, &#39;wdd&#39;]
>>> len(users)
9
Nach dem Login kopieren

20 Ausführliche Gedanken zu Listenverstößen

Nachdem ich diese Methoden geschrieben habe, habe ich einige Fragen, warum einige Vorgänge außerhalb der Grenzen auffordern, während andere dies nicht tun.

zeigt an, dass der Offset außerhalb der Grenzen liegt:

  • 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage