Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung von Listen und Tupeln beim Python-Lernen

Detaillierte Erläuterung der Verwendung von Listen und Tupeln beim Python-Lernen

WBOY
WBOYnach vorne
2022-11-02 15:51:512069Durchsuche

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

Einführung in Listen und Tupel

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.

Wichtige Punkte zum Lernen von Listen

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 表示待查找的值,startstop 为可选参数,表示开始查找的索引值和结束查找的索引值,该方法当查找到元素后,会返回第一个找到的元素索引位置,例如下述代码,会返回 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]

Syntax der Listendeklaration

Um eine Liste zu deklarieren, können Sie auf die folgenden Formate zurückgreifen. 🎜🎜🎜Verwenden Sie Luftklammern [], um eine leere Liste zu deklarieren.🎜🎜
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)

Eine Liste lesen

🎜Das wichtigste Konzept beim Lesen einer Liste ist der Index, auch Position oder Index genannt. Die Indizes beginnen bei 0 zu zählen, d. h. der Index des ersten Elements in der Liste ist 0. Der folgende Code liest beispielsweise die Zahl 2. 🎜
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
my_list.clear() # 列表清空
print(my_list)

Listenoperationen

🎜Eine Liste ist ein dynamischer Container, der Operationen wie das Hinzufügen, Löschen, Ändern, Abfragen und Zusammenführen seiner Elemente unterstützt lauten wie folgt: 🎜
  • 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.
🎜🎜Methode zum Hinzufügen von Listenelementen🎜🎜🎜Aus der obigen Liste können Sie ersehen, dass das Hinzufügen von Elementen zur Liste auf zwei Arten erfolgen kann. Eine davon ist die Verwendung von 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 = [&#39;ABC&#39;,&#39;CDS&#39;,&#39;Juejin&#39;,&#39;YUE&#39;]
my_list.sort(key=str.lower)
print(my_list)

sort() 方法会对原列表进行排序,如果想生成一个新列表,可以使用 sorted() 函数,代码如下:

my_list = [&#39;ABC&#39;,&#39;CDS&#39;,&#39;Juejin&#39;,&#39;YUE&#39;]
ret = sorted(my_list)
print(ret)

除此之外,还可以使用 reverse() 方法。

my_list = [&#39;ABC&#39;,&#39;CDS&#39;,&#39;Juejin&#39;,&#39;YUE&#39;]
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen