Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Verwendung von Listen und Tupeln beim Python-Lernen
Dieser Artikel vermittelt Ihnen relevantes Wissen über Python, das hauptsächlich die detaillierte Erklärung der Verwendung von Listen und Tupeln einführt, einschließlich der Deklarationssyntax von Listen, des Lesens von Listen, Listenoperationen, Grundkenntnisse über Elemente und Werfen wir einen Blick darauf Die Bedienung und andere Inhalte werden hoffentlich für alle hilfreich sein.
【Verwandte Empfehlung: Python3-Video-Tutorial】
Wenn Sie nach dem besten Datentyp in der Python-Sprache suchen, ist dies zweifellos eine Liste, wenn Sie eine empfehlen möchten , dann wähle ich Tupel. In diesem Blog werden wir uns auf Listen konzentrieren, die nicht geändert werden können, also als Geschenk lernen Sie es einfach.
List ist eine sehr flexible Datenstruktur, die viele Mängel des vorherigen String-Typs ausgleichen kann.
Vor dem formellen Lernen müssen Sie sich zwei englische Wörter merken: list und tuple.
Erster Blick auf die Listendefinition:
Eine Liste ist eine variable Sequenz und ein Container, der jeden Datentyp speichern kann ([]
). Geben Sie den Anfang und das Ende an. Jedes interne Element wird durch englische Kommas getrennt (,
). Jedes Element kann als Projekt bezeichnet werden, und jedes Element verfügt über einen Index, der auch als Index bezeichnet wird. []
)表示开始和结束,内部各元素使用英文逗号(,
)分隔,每个元素都可称为项目,并且每个元素都有一个索引,也被称为下标。
声明一个列表,可以参考下述几种格式。
使用空中括号 [] 声明一个空列表
my_list = [] print(my_list)
声明包含一个元素的列表
my_list = [1] print(my_list)
声明包含多个元素的列表
my_list = [1,2] print(my_list)
声明包含多个不同数据类型元素的列表
my_list = [1,'a',True] print(my_list)
声明一个列表中包含列表
my_list = [1,['a'],[True,1,1]] print(my_list)
读取列表中最重要的概念是下标,也叫做位置或者索引。下标从 0 开始计数,即列表内第一项元素的索引是 0,例如下述代码,读取数字 2。
my_list = [1,2,3,4,5] print(my_list[1]) # 数字2所在的下标为1
列表是一个动态容器,其支持对其元素的增加,删除,修改,查询,合并等操作,用到的都是字典对象的方法,基本操作的方法名如下所示:
append()
:末尾追加元素;extend()
:末尾追加列表,也可以理解为两个列表合并;insert()
:在指定位置插入元素;copy()
:列表复制;clear()
:清空列表;count()
:统计列表指定元素个数;pop()
:删除并返回指定下标对应的元素;remove()
:删除列表中指定元素;index()
:获取指定元素的下标;reverse()
:反转元素;sort()
:对列表元素进行排序。列表元素添加方法
从上述清单中,可以查看到列表追加元素,有两种办法可以实现,其一是使用 append()
方法,其二是使用 insert()
方法,示例代码如下所示:
my_list = [1,2,3,4,5] my_list.append(888) my_list.insert(1,666) print(my_list)
对比一下上述两个方法的差异,可以看到 append()
仅能在里列表末尾追加元素,而 insert()
方法可以在任意位置插入元素,即 insert()
方法的第一个参数为索引,表示插入位置。
列表元素查找方法
在列表中查找某一元素,使用 index()
方法实现,该方法的语法格式如下所示:
my_list.index(value,[start[,stop]])
其中 my_list
是待查找目标列表,value
表示待查找的值,start
和 stop
为可选参数,表示开始查找的索引值和结束查找的索引值,该方法当查找到元素后,会返回第一个找到的元素索引位置,例如下述代码,会返回 3
。
my_list = [1,2,3,4,5] ret = my_list.index(4) print(ret)
如果该方法没有在目标列表中找到元素,会报错,错误类型为 ValueError
。
除 index()
方法外,列表的读取其实也是元素查找方式,例如读取下标 2 的元素,代码如下:
my_list = [1,2,3,4,5] ret = my_list[2] print(ret)
还可以使用成员运算符 in
,对列表进行判断,关于成员操作符的更多知识,后期总结运算符的时候,会详细说明。以下代码会返回 True
,即表示数字 2 在列表中。
my_list = [1,2,3,4,5] ret = 2 in my_list print(ret)
在列表中还有一个重要知识点,即列表切片,学习该知识点需要先牢牢掌握列表按索引读取相关语法,切片的语法格式如下:
my_list = [1,2,3,4,5] ret = my_list[1:3:2] print(ret)
可以看到上述第二行代码,在原列表读取的规则之上,格式变为了 [1:3:2]
my_list[起始索引:结束索引:步长]🎜🎜Deklarieren Sie eine Liste mit einem Element 🎜🎜
# 缺省结束索引,默认获取到列表结尾元素 my_list = [1,2,3,4,5,6,7,8,9,10] ret = my_list[1:] print(ret) # 输出 [2, 3, 4, 5, 6, 7, 8, 9, 10] # 缺少步长,默认按照索引+1解决,同时不包含结束索引代表的元素 my_list = [1,2,3,4,5,6,7,8,9,10] ret = my_list[1:5] print(ret) # 输出 [2, 3, 4, 5] # 步长设置为2,表示索引每次+2 my_list = [1,2,3,4,5,6,7,8,9,10] ret = my_list[1:6:2] print(ret) # 输出 [2, 4, 6]🎜🎜Erklären Sie, dass eine Liste eine Liste enthält🎜🎜
my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 print(my_list)
my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 my_list.clear() # 列表清空 print(my_list)
append()
: Elemente am Ende anhängen extend()
: Eine Liste anhängen das Ende, auch Es kann als Zusammenführen zweier Listen verstanden werden insert()
: Fügen Sie ein Element an der angegebenen Position ein kopieren ()
: Listenkopie; clear()
: Liste löschen count()
: Zählen Sie die Anzahl der angegebenen Elemente in der Liste; pop()
: Löschen Sie das Element, das dem angegebenen Index entspricht, und geben Sie es zurück >remove(): Aus der Liste entfernen. Geben Sie das Element an. index()
: Holen Sie sich den Index des angegebenen Elements reverse()
: Das Element umkehren; sort()
: Listenelemente sortieren. append() Methode, die zweite besteht darin, die Methode <code>insert()
zu verwenden. Der Beispielcode lautet wie folgt: 🎜my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 ret = my_list.pop() print(my_list) # 删除最后一项 print(ret) # 返回被删除的元素🎜Wenn Sie die Unterschiede zwischen den beiden oben genannten Methoden vergleichen, können Sie sehen, dass
append ()
Nur Elemente können an das Ende der Liste angehängt werden, und die Methode insert()
kann Elemente an jeder Position einfügen, d. h. am ersten Parameter von insert ()
-Methode ist der Index, der die Einfügeposition angibt. 🎜🎜🎜Suchmethode für Listenelemente🎜🎜🎜Um ein Element in der Liste zu finden, verwenden Sie die Methode index()
. Das Syntaxformat dieser Methode lautet wie folgt: 🎜my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 ret = my_list.remove(5) print(my_list) print(ret)🎜wobei
my_list
ist eine Liste der zu durchsuchenden Ziele, value
stellt den zu durchsuchenden Wert dar, start
und stop
sind optionale Parameter, die angeben Der Indexwert, bei dem die Suche beginnt. Wenn ein Element gefunden wird, gibt diese Methode die Indexposition des ersten gefundenen Elements zurück. Code>. 🎜# 删除索引位置为5的元素 my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 del(my_list[5]) print(my_list) # 删除整个列表对象 my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 del my_list print(my_list)🎜Wenn diese Methode kein Element in der Zielliste findet, wird ein Fehler mit dem Fehlertyp
ValueError
gemeldet. 🎜🎜Zusätzlich zur Methode index()
ist das Lesen einer Liste tatsächlich eine Methode zur Elementsuche. Um beispielsweise das Element mit Index 2 zu lesen, lautet der Code wie folgt: 🎜my_list1 = [1,2,3] my_list2 = [666,777,888] my_list1.extend([666,777,888]) print(my_list1)🎜You Sie können auch den Mitgliedsoperator
in
verwenden, um die Liste zu beurteilen. Weitere Kenntnisse über Mitgliedsoperatoren werden später bei der Zusammenfassung der Operatoren ausführlich erläutert. Der folgende Code gibt True
zurück, was bedeutet, dass die Nummer 2 in der Liste enthalten ist. 🎜my_list1 = [1,2,3] my_list2 = [666,777,888] my_list = my_list1 + my_list2 print(my_list)🎜Es gibt einen weiteren wichtigen Wissenspunkt in der Liste, nämlich das Listen-Slicing. Um diesen Wissenspunkt zu erlernen, müssen Sie die Syntax zum Lesen der Liste nach Index genau beherrschen. Das Syntaxformat des Slicings ist wie folgt
my_list = [4,1,2,6,7,3,8,12,10] my_list.sort() print(my_list)🎜Sie können die zweite Zeile über dem Code sehen. Basierend auf den Regeln zum Lesen der Originalliste wird das Format zu
[1:3:2]
und die chinesische Syntaxbeschreibung lautet wie folgt: 🎜my_list[起始索引:结束索引:步长]
使用切片的时候,英文冒号不能缺少,起始索引为必选项,结束索引和步长为可选项。
如果理解困难,最好的办法就是反复用代码校验。
# 缺省结束索引,默认获取到列表结尾元素 my_list = [1,2,3,4,5,6,7,8,9,10] ret = my_list[1:] print(ret) # 输出 [2, 3, 4, 5, 6, 7, 8, 9, 10] # 缺少步长,默认按照索引+1解决,同时不包含结束索引代表的元素 my_list = [1,2,3,4,5,6,7,8,9,10] ret = my_list[1:5] print(ret) # 输出 [2, 3, 4, 5] # 步长设置为2,表示索引每次+2 my_list = [1,2,3,4,5,6,7,8,9,10] ret = my_list[1:6:2] print(ret) # 输出 [2, 4, 6]
上述代码如何理解已经在注释中进行说明,重点要掌握的切片知识点整理如下:
一首打油诗送给大家~
切片不能丢冒号 结束步长可不要 默认索引都加一 左闭右开要牢记
前文已经掌握了列表的读取,将读取到的元素重新赋值就是列表的修改,例如下述代码。
my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 print(my_list)
列表元素删除 在 Python 中,提出了多种列表元素删除的方式,本小节学习三个列表元素删除的方法,即 clear()
,pop()
,remove()
,除此之外还可以使用 del()
函数对列表元素进行删除。
my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 my_list.clear() # 列表清空 print(my_list)
使用 pop()
方法删除列表元素,默认从尾部删除,并返回被删除的元素。
my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 ret = my_list.pop() print(my_list) # 删除最后一项 print(ret) # 返回被删除的元素
pop()
方法中可以传递一个 index
值,该值表示下标值,即删除指定位置的元素,与之对应的是 remove()
方法的参数,该值表示待删除的目标元素,例如在列表中删除元素 5,使用的代码如下:
my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 ret = my_list.remove(5) print(my_list) print(ret)
测试之后,可以发现 remove()
方法无返回值,并且该方法只删除第一个匹配到的元素,也就是当列表中有多个目标元素时,只有最先匹配到的元素被删除。
del()
函数可以删除列表中指定元素,也可以直接删除列表对象,代码如下:
# 删除索引位置为5的元素 my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 del(my_list[5]) print(my_list) # 删除整个列表对象 my_list = [1,2,3,4,5,6,7,8,9,10] my_list[1] = 666 del my_list print(my_list)
使用 extend()
方法可以将列表进行合并:
my_list1 = [1,2,3] my_list2 = [666,777,888] my_list1.extend([666,777,888]) print(my_list1)
注意 extend()
方法不会生成新的列表。
列表合并也可以使用加号(+
) 实现,该语法会产生一个新的列表。
my_list1 = [1,2,3] my_list2 = [666,777,888] my_list = my_list1 + my_list2 print(my_list)
列表排序用到的方法是 sort()
,该方法默认按照 ASCII 进行增序或者减序排列,测试代码如下所示:
my_list = [4,1,2,6,7,3,8,12,10] my_list.sort() print(my_list)
在 sort()
方法中也有 2 个参数,格式如下:
my_list.sort(key=None,reverse=False)
参数 key
为可选参数,可以传入一个函数名,该函数会作用与列表中的每一项元素,例如将列表中每一项元素都转换为小写字母。
my_list = ['ABC','CDS','Juejin','YUE'] my_list.sort(key=str.lower) print(my_list)
sort()
方法会对原列表进行排序,如果想生成一个新列表,可以使用 sorted()
函数,代码如下:
my_list = ['ABC','CDS','Juejin','YUE'] ret = sorted(my_list) print(ret)
除此之外,还可以使用 reverse()
方法。
my_list = ['ABC','CDS','Juejin','YUE'] my_list.reverse() print(my_list)
元组定义与列表基本一致,只需要做好如下区分即可。
()
)表示。再次进行简单总结:
元组是不可变序列,也是可以包含任意数据类型的容器,用小括号(()
)表示,元素之间用逗号(,
)分隔 。一定要注意的就是不可变序列,不可变的含义是不能对元组进行增加,修改,删除,位置变换等操作。
声明一个元组
my_tuple = () print(my_tuple) print(type(my_tuple))
声明一个只包含 1 个值的元组,要求必须带一个逗号,否则会按照整数处理。
my_tuple = (1,) print(my_tuple) print(type(my_tuple))
声明包含多个值的元组:
my_tuple = (1,2,3,4,5,6,[1]) print(my_tuple) print(type(my_tuple))
由于元组对象的方法使用与列表一致,接下来仅对元组进行罗列。
count()
:统计元组中元素个数;index()
:返回指定元素的下标。其余可作用于元组的内置函数如下所示:
len()
:获取元组元素个数;max()
:返回元组中最大值;min()
:返回最小值;tuple()
:将列表转换为元组;type()
:返回对象类型;del()
:删除整个元组对象,注意不能删除元组内元素;sum()
:求和。【相关推荐:Python3视频教程 】
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von Listen und Tupeln beim Python-Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!