参考来源:【Vitu.AI】在之前的课程中,我们了解了python值的各种类型,比如字符串(str),整型(int)和浮点数(float)。这节课我们来看看python是如何使用列表和元组来批量存储这些值的,以及如何调用列表和元组的一些相关方法。列表的定义在python中,列表(list)表示值的有序排列。让我们看一个例子:primes=[2,3,5,7]或者,我们可以将一系列字符串放在一个列表中:planets=['Mercury','Venus','Earth','Mars','Jupiter','Saturn','Uranus','Neptune']甚至,我们可以将列表放在列表中。#我们也可以把它们写在同一行。手=[['J','Q','K'],['2','2','2'],['6','A','K']]手=[['J','Q','K'],['2','2','2'],['6','A','K'],#最后一个元素后面的逗号可以不填]除了相同类型的批处理值,一个列表(list)也可以包含不同类型的值。my_favourite_things=[8,'Pikachu',help]列表中的索引介绍完列表的定义,我们再来看看列表相关的方法。索引意味着我们可以通过将元素的位置填充在方括号[]中来访问列表中的每个元素。让我们以上面创建的行星列表为例。例如,哪个行星离太阳最近?因为python从0开始索引,所以第一个元素的索引为0。planets[0]再举个例子,哪个行星离太阳第二近?行星[1]哪颗行星离太阳最远?倒计时列表中的元素可以用负数索引,从-1开始。行星[-1]离太阳第二远的行星是什么?planets[-2]在列表中切片列表的第二种常见方法是切片。离太阳最近的前三颗行星是什么?我们可以用切片来回答这个问题:planets[0:3]planets[0:3]表示我们要查找列表中的前三个元素,也就是从第0个元素开始到第三个元素,即,直到元素2结束,值得注意的是这里不包括元素3。开始和结束索引值自己填。如果我们不填写起始索引值,那么它会默认为0,如下所示,这意味着我们要找到列表中的前三个元素。planets[:3]同样,如果我们不填写结束索引值,那么它会默认到列表的末尾。值得注意的是,这里包含了最后一个元素。如下图,表示我们要查找列表中从第三个到最后一个元素的所有元素。planets[3:]我们也可以使用负数进行切片。#显示所有行星,除了第一个和最后一个行星[1:-1]#最后三个行星planets[-3:]更改列表列表(List)是可变的,这意味着它们可以随时修改。其中,修改列表中元素的一种方式是直接通过索引赋新值。例如,我们可以更改列表Mars:planets[3]='Malacandra'planets哇,Mars的全名太罗嗦了。我们可以将前三颗行星的名字缩写来弥补。planets[:3]=['Mur','Vee','Ur']print(planets)可用于列表的函数让我们首先恢复我们的行星列表。planets=['Mercury','Venus','Earth','Mars','Jupiter','Saturn','Uranus','Neptune']Python有一些列表函数。例如,len可以告诉我们这个列表的长度:#总共有多少颗行星?len(planets)再比如,sorted可以返回按字母顺序排列的列表。对于sorted(planets)sum,它可以给出你期望的总和值:primes=[2,3,5,7]sum(primes)在前面的课程中,我们使用min和max来得到几个参数中的最小值或最大值.这一次,我们可以直接传入列表。#获取素数列表中的最大值max(primes)#获取素数列表中的最小值min(primes)list方法向列表添加元素首先,list.append()可以在末尾添加一个元素列表,例如:#Pluto曾经是一颗行星:planets.append('Pluto')为什么上面的代码没有输出?让我们看一下我们之前学习的help()函数:help(planets.append)这个帮助告诉我们list.append()不返回任何值。然而,如果我们查看列表planets的值,我们可以看到这个列表的最后一项已经是Pluto:planets你一定想知道为什么我们可以直接用·调用列表方法,比如list.append。这是python特有的语法,可以通过点号调用与该对象相关的函数。这种与一个对象相关的函数可以称为方法。而python中几乎所有的东西都可以称为对象(object),比如我们学过的参数、变量(variable)、列表(list)、元组(tuple)和字典(dicts)我们还没有见过。)和类。让我们举一个与列表无关的例子。Python中的数字有一个名为imag的关联变量,它表示它们的虚部(您可能永远不需要使用它,除非您正在做一些非常奇怪的数学运算)。#x是一个整数,所以它的虚部是0x=12print(x.imag)删除列表中的元素其次,list.pop会删除列表的最后一个元素,并返回删除的元素。当我们再次查看列表planets的值时,我们可以看到Pluto已从此列表的最后一项中删除:planets正在寻找列表planet中的元素。列表中的地球在哪里?我们可以通过list.index()来实现:planets.index('Earth')上面的代码表明地球是离太阳最近的第三颗行星。那么,冥王星在当前榜单行星中的位置在哪里呢?planets.index('Pluto')没错,冥王星已经从我们太阳系的行星列表中删除了。所以,为了防止这种令人沮丧和不愉快的输出结果,我们可以使用in操作来判断这个列表是否包含一个特殊的值:#Istheearthaplanet?行星中的“地球”#月球是行星吗?行星中的“月球”还有很多有趣的方法可以在列表中调用。我们可以通过help()了解更多有趣的方法。不过不用担心,您在下面看到的--add--或--eq--,我们基本上不会直接调用它们。而下面的append、clear、copy是我们需要注意和学习的。help(planets)元组与列表基本相同,除了两点不同。第一点,创建元组的语法是使用圆括号(),而创建列表是通过方括号[]。第二点是元组不能改变。一旦创建,它就是固定的。#如何创建列表?t=(1,2,3)t#你也可以省略括号t=1,2,3t但元组不能修改元素。因此,运行下面的代码会报错“Tupledoesnotsupportreassignmentofthings”。t[0]=100元组通常用于具有多个返回值的函数。例如,float的一个方法as_integer_ratio返回一个元组,即(numerator,denominator)。x=0.125x.as_integer_ratio()元组中的值可以赋值给不同的变量:numerator,denominator=x.as_integer_ratio()print(numerator)print(denominator)最后,通过上面的元组,我们可以得到一些启发,如何交换两个变量的值?a=1b=0a,b=b,aprint(a,b)你很聪明,你想明白吗?上面的代码先将1和0分别赋值给变量a和b,然后将它们打包成两个元组a,b和b,a,然后将a和b元组中的值分别赋给b和a元组.价值。原文地址:认识python【今天开始写代码】第4课
