Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in allgemeine Operationen für Listen in Python

Einführung in allgemeine Operationen für Listen in Python

高洛峰
高洛峰Original
2017-03-22 11:16:051779Durchsuche

Hauptsächlich im Zusammenhang mit Wissenspunkten

Liste ist der häufigste Datentyp in unserem Python. Wir haben hauptsächlich die folgenden Operationen.

1. Index

3. Anhängen

5 >

6.

Schleife

(auch Traversal genannt)

7. Enthält
Zum Beispiel Definition der Liste:

Hauptsächlich grundlegende Methoden und Einführung betroffen


Einfaches Beispiel:
List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"]
或者
List2=list(['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"])

1. Definition der Liste

Einführung in allgemeine Operationen für Listen in Python 2. Slicing und Listenwert

Slicing ist hauptsächlich eine Methode, um einen Teil oder ein einzelnes Element in der Liste zu erhalten. Der Zugriff auf die Elemente in der Liste erfolgt über Indizes, und die Indizes beginnen mit dem Zählen 0.

Erhalten Sie einen bestimmten Wert in der Liste (nehmen Sie den Wert durch den Index, der Index beginnt bei 0)

 >>> List2=list(['openstack','python','linux',"docker","zabbix","nginx","linux","
linux","123","ww33##"])
>>> print(List2)
['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux',
'123', 'ww33##']
或者List2=['openstack','python','linux',"docker","zabbix","nginx","linux","
linux","123","ww33##"] 我们直接用后面的这种定义,检验和模拟相关方法和切片等。

3. Fügen Sie Elemente zur Liste hinzu

Verwenden Sie hauptsächlich die Append-Methode zum Anhängen von Elementen. Fügen Sie am Ende

List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"]
print(List2[0])
print(List2[1])
print(List2[-2])
结果:
openstack
python
123
 
    我们发现在取值时下标为零的恰好取的值为是第一位元素,更好的证明了下标从零开始这一说法,
 同时发现print(List2[-2])恰好是倒数第二位元素,由此可见不仅顺着取值,可以倒着取值。
切片:访问里面的前多个值:
List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"]
 
print(List2[0:3]) #取前三个
 
结果:
['openstack', 'python', 'linux']
再试试
print(List2[:3])
结果:
['openstack', 'python', 'linux']
由此我们可以看出开始下标是0的时候,可以省略不写,还需要注意下标[0:3]能取到1,2,3位的元素,
即表示第四位取不到,在我们边界取值时需要注意。
print(List2[3:-1]) #取不到最后一位
print(List2[3:])  #取得第四位到最后一位
print(List2[2:9:2])#取出下标为第二位到下标为9之间的 每隔一个元素取一次
print(List2[-3:-1]) #倒着取值取出倒数第三位和倒数第二位
print(List2[-3:])#取出倒数的后三位
print(List[0::2])#每隔一个元素取一次
print(list[::2]) #每隔一个元素取一次 和上面的一样
结果:
['docker', 'zabbix', 'nginx', 'linux', 'linux', '123']
['docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##']
['linux', 'zabbix', 'linux', '123']
['linux', '123']
['linux', '123', 'ww33##']
hinzu, um ein Element an einer bestimmten Position einzufügen. Sie können die Insert-Methode verwenden, um


4. Ändern Sie den Wert eines Elements

Ändern Sie den Wert eines Elements, normalerweise durch Neuzuweisung.

List2.append("winner")
print(List2)
结果:
['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##', 'winner']

5. Löschen

List2.insert(2,"baidu") #在第三位插入元素baidu
print(List2)
结果:
['openstack', 'python', 'baidu', 'linux', 'docker', 'zabbix', 'nginx','123', 'ww33##']
由此看出在某位置插入时,该位置元素整体向后移动。
Das Löschen ist in das Löschen eines Elements und das Löschen aller Elemente unterteilt. Beim Löschen einzelner Elemente können wir die Methoden „remove()“ und „pop()“ sowie del verwenden und clear

() kann die gesamte Liste löschen. Als nächstes analysieren wir anhand von Beispielen die Unterschiede zwischen den verschiedenen Methoden.

Der mittlere Parameter der Methode pop() ist der Index. Wenn kein Parameter vorhanden ist, wird die letzte Ziffer standardmäßig gelöscht.

List2[2]="我的钢铁"
List2[-1]="人生苦短,我用python!"
#List2.insert(2,"baidu")
print(List2)
['openstack', 'python', '我的钢铁', 'docker', 'zabbix', 'nginx', '123', '人生苦短,我用python!']

Der Parameter in der Methode „remove()“ ist direkt der Inhalt des Elements

Die Methode „clear()“ wird verwendet, um die gesamte Liste zu verarbeiten

del kann die gesamte Liste oder ein einzelnes Element löschen

List2.pop(1)
print(List2)
结果
['openstack', 'linux', 'docker', 'zabbix', 'nginx', '123', 'ww33##']
List2.pop(-4)
print(List2)
结果:
['openstack', 'python', 'linux', 'docker', 'nginx', '123', 'ww33##']

Wenn Sie die Ergebnisse beobachten, können Sie feststellen, dass del die definierte Liste löscht und clear() die Elemente der Liste leert.

List2.remove('linux')
print(List2)
结果:
['openstack', 'python', 'docker', 'zabbix', 'nginx', '123', 'ww33##']
当列表存在相同元素linux时:
List2=['openstack','linux','python','linux',"docker","zabbix","nginx","123",'linux',"ww33##"]
List2.remove('linux')
print(List2)
结果:
['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', '123', 'linux', 'ww33##']
当存在多个值时只会删除一个值
6. Abfrage der Position und Anzahl des Vorkommens eines Elements (Listenelemente können wiederholt werden)

List2.clear()
print(List2)
结果:
[]
Das Abfragen der Liste umfasst hauptsächlich Statistiken zur Länge der Liste und das Abfragen der Elemente eines bestimmten Inhalts An welcher Position wird es hauptsächlich mit der Indexmethode index() und der Elementvorkommensmethode

count

() implementiert.
del  List2
print(List2)
del  List[2]
结果:
Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/s14/jiounumber.py", line 21, in <module>
    print(List2)
NameError: name &#39;List2&#39; is not defined
删除个别元素 结合切片
List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,123,"ww33##"]
del List2[2]
print(List2)
结果:
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;中国&#39;, &#39;中东&#39;, &#39;linux&#39;, 123, &#39;ww33##&#39;]

Daraus ist ersichtlich, dass der Index normalerweise das erste Element findet, wenn ein Element mehrere Elemente derselben Form enthält.


7. Die Liste umdrehen und sortieren

Sie können die Liste mit der Methode reverse() und der Methode sort() umdrehen und sortieren besteht darin, die Liste umzudrehen. Die Position der Elemente wird erneut umgedreht, und die Sortierung basiert hauptsächlich auf dem Ascall-Code.

List2=[&#39;openstack&#39;,&#39;python&#39;,&#39;linux&#39;,"docker","zabbix","nginx","123","ww33##"]
索引:
print(List2.index("linux"))
结果
2
 
统计:
print(List2.count("linux"))
结果
1
 
List2=[&#39;openstack&#39;,&#39;linux&#39;,&#39;python&#39;,&#39;linux&#39;,"docker","zabbix",&#39;linux&#39;,"nginx","123","ww33##"]
print(List2.index("linux"))
print(List2.count("linux"))
结果:
1
3

Daraus stellen wir fest, dass die Sortierung der Liste immer noch sehr NB ist Für die oben genannten Ganzzahlen und Zeichenfolgen, die nicht verglichen werden können, können wir Ganzzahlen in

String-Vergleich

konvertieren.

8. Schleifen, Einschlüsse und copy(), extension()-Methoden

List2=[&#39;openstack&#39;,&#39;linux&#39;,&#39;python&#39;,&#39;linux&#39;,"docker","zabbix",&#39;linux&#39;,"nginx","123","ww33##"]
List2.reverse()
print(List2)
结果:
[&#39;ww33##&#39;, &#39;123&#39;, &#39;nginx&#39;, &#39;linux&#39;, &#39;zabbix&#39;, &#39;docker&#39;, &#39;linux&#39;, &#39;python&#39;, &#39;linux&#39;, &#39;openstack&#39;]
 
排序:
List2.sort()
print(List2)
[&#39;123&#39;, &#39;docker&#39;, &#39;linux&#39;, &#39;linux&#39;, &#39;linux&#39;, &#39;nginx&#39;, &#39;openstack&#39;, &#39;python&#39;, &#39;ww33##&#39;, &#39;zabbix&#39;]
再稍微复杂一点,里面添加中文和整数等内容
List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,123,"docker","zabbix",&#39;linux&#39;,30.84,"123","ww33##"]
List2.sort()
print(List2)
执行结果:
Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/s14/jiounumber.py", line 24, in <module>
    List2.sort()
TypeError: unorderable types: int() < str()
整型和字符串无法比较,接下来,再试试
List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,"123","ww33##"]
List2.sort()
print(List2)
[&#39;123&#39;, &#39;linux&#39;, &#39;openstack&#39;, &#39;python&#39;, &#39;ww33##&#39;, &#39;中东&#39;, &#39;中国&#39;, &#39;云计算&#39;]
Schleifen, normalerweise durch

for-Schleifen Die Methode zum Ausdrucken Elemente

umfassen: Wir können beurteilen, ob ein bestimmter Inhalt in der Liste enthalten ist. Der Rückgabewert des Ergebnisses ist ein boolescher Wert. Wenn er vorhanden ist, ist er wahr, und wenn nicht, ist er wahr existieren, es ist falsch.

entend-Methode Mit dieser Methode können Sie zwei Listen zu einer zusammenführen, ohne dass sich dies auf einen der Werte auswirkt.

copy()-Methode

List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,"123","ww33##"]
for  i  in List2 :
    print (i)
print(List2)
结果:
openstack
云计算
python
中国
中东
linux
123
ww33##
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, &#39;中国&#39;, &#39;中东&#39;, &#39;linux&#39;, &#39;123&#39;, &#39;ww33##&#39;]
通过循环我们就可以找出列表的每个元素。同时我们也可以看出这时的打印和之前的有所不同

kann die Liste kopieren

List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,123,"ww33##"]
print( &#39;linuxww&#39;  in List2)
print(&#39;中东&#39; in List2)
print(123  in List2)
print( 12 in List2)
结果:
False
True
True
False

9 Andere Operationen auf der Liste

List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,123,"ww33##"]
List1=[123,&#39;abc&#39;,&#39;中国&#39;]
#print( &#39;linuxww&#39;  in List2)
#print(&#39;中东&#39; in List2)
print(List2,List1)
print(List1)
List1.clear()
print(List1)
结果:
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, &#39;中国&#39;, &#39;中东&#39;, &#39;linux&#39;, 123, &#39;ww33##&#39;] [123, &#39;abc&#39;, &#39;中国&#39;]
[123, &#39;abc&#39;, &#39;中国&#39;]
[]
 
由此发现extend方法并不会影响被合并列表(List1)的值,只有自己做其他操作时才会发生变化。
Zusätzlich Zusätzlich zu den oben genannten Hauptoperationen können wir auch die folgenden Operationen für die Liste ausführen. Die

Operatoren
für das Listenpaar + und * ähneln denen für Zeichenfolgen. Das +-Zeichen wird verwendet, um Listen zu kombinieren, das *-Zeichen wird verwendet, um Listen zu wiederholen

Python-Liste
List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,123,"ww33##"]
list3=List2.copy()
print(List2,list3)
结果:
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, &#39;中国&#39;, &#39;中东&#39;, &#39;linux&#39;, 123, &#39;ww33##&#39;]
 [&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, &#39;中国&#39;, &#39;中东&#39;, &#39;linux&#39;, 123, &#39;ww33##&#39;]
  
注意事项:
 List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,["中国","中东"],&#39;linux&#39;,123,"ww33##"]
list3=List2.copy()
print(List2)
print(list3)
List2[2]="MYSQl DBA"
List2[3][1]="北京"
print(List2)
print(list3)
执行结果:
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;MYSQl DBA&#39;, [&#39;中国&#39;, &#39;北京&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;北京&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
我们将列表List2中的List2[2]的python和List2[3][1]的中东更改为List2[2]="MYSQl DBA"和List2[3][1]="北京
输出后发现复制的那一部分List2[3][1]复制后是一样的,而List2[2]的值会不一样。主要是内存的地址原因。
同时对这种情况想要复制相同的是不行的
List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,["中国","中东"],&#39;linux&#39;,123,"ww33##"]
list3=List2
print(List2)
print(list3)
List2[2]="MYSQl DBA"
List2[3][1]="北京"
print(List2)
print(list3)
这里给list3赋值为List2这时会发现更改List2时,会直接更改list3的值
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;MYSQl DBA&#39;, [&#39;中国&#39;, &#39;北京&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;MYSQl DBA&#39;, [&#39;中国&#39;, &#39;北京&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
要想复制完全一样的,我们可以导入copy模块
import copy
List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,["中国","中东"],&#39;linux&#39;,123,"ww33##"]
list3=copy.deepcopy(List2)
print(List2)
print(list3)
List2[2]="MYSQl DBA"
List2[3][1]="北京"
print(List2)
print(list3)
执行的结果:
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;MYSQl DBA&#39;, [&#39;中国&#39;, &#39;北京&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, [&#39;中国&#39;, &#39;中东&#39;], &#39;linux&#39;, 123, &#39;ww33##&#39;]
这时发现,List2元素的值改变不会影响list3的值,下面的这种copy,我们称为deep.copy,而列表的
copy()方法是一种浅copy
Funktion

Oben haben wir die Listenmethode von Python, Python-Liste, analysiert Es gibt auch einige Listenfunktionen. Die häufigsten sind max(list), min(list), len(list) und list(seq): len(list) ist die Länge der oben genannten Liste.

List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",&#39;linux&#39;,123]
list3=["open","ip","config"]
print(List2+list3)
print(list3*3 )
结果:
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, &#39;中国&#39;, &#39;中东&#39;, &#39;linux&#39;, 123, &#39;open&#39;, &#39;ip&#39;, &#39;config&#39;]
[&#39;open&#39;, &#39;ip&#39;, &#39;config&#39;, &#39;open&#39;, &#39;ip&#39;, &#39;config&#39;, &#39;open&#39;, &#39;ip&#39;, &#39;config&#39;]
+号实现的功能和之前的append()方式一样,而*表示重复,后面的的数字表示重复的次数。
max(list) Der Maximalwert der Liste

min(list) Der Minimalwert der Liste

list(seq) Konvertieren Sie das Tupel in a Liste, wir wissen, dass das grundlegende

-Attribut

das gleiche ist wie die Liste. Der Unterschied besteht darin, dass die Liste mit eckigen Klammern [] definiert wird, während das Tupel mit ()-Klammern und den Elementen definiert wird des Tupels kann nicht neu zugewiesen werden.

Beispiel

10. Verschachtelung von Listen

     在上面讲到列表的copy()方法时,我们就用到了列表,因为列表的元素可以是任何类型,所以列表的元素还可以是列表,这时候的列表就会形成嵌套关系。

例如:

List2=[&#39;openstack&#39;,&#39;云计算&#39;,&#39;python&#39;,"中国","中东",[["open","ip"],"config",&#39;999&#39;,&#39;2929&#39;,]]
print(List2)
结果: 实现三层嵌套
[&#39;openstack&#39;, &#39;云计算&#39;, &#39;python&#39;, &#39;中国&#39;, &#39;中东&#39;, [[&#39;open&#39;, &#39;ip&#39;], &#39;config&#39;, &#39;999&#39;, &#39;2929&#39;]]

总结:以上内容主要是python中对列表的操作,全部属于基础知识,并且所有的示例都是亲手实践所得到的结果,由于经验不足,或许只能理解列表知识的一部分,哪里有错误,还请各位朋友指正。

Das obige ist der detaillierte Inhalt vonEinführung in allgemeine Operationen für Listen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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