Python获取列表中的最后一个元素 |
您所在的位置:网站首页 › python列表修改元素值 › Python获取列表中的最后一个元素 |
在本教程中,我们将介绍在Python中查找列表中最后一个元素的一些常见方法。首先,我们将介绍最简单和最Pythonic的方法,然后展示一些其他的替代解决方案。 让我们来看一下我们将要使用的列表: exampleList = [1, 2, "Three", ["Four", 5], 6]注意: Python中的列表是一组不一定相同类型的元素。一个列表可以包含数字、字符串、嵌套列表等元素。 https://www.sangniao.com/ 如何获取Python列表中的最后一个元素在Python中,我们可以采用几种方法来获取列表的最后一个元素,其中一些比其他方法更直观和实用,有些方法实际上会改变原始列表。 获胜解决方案 - 使用负索引Python支持访问列表元素的负索引的方法。这意味着我们可以使用[]运算符按相反的顺序访问元素。 众所周知,列表中的索引工作方式如下: firstElement = exampleList[0] nthElement = exampleList[n-1] ...第一个元素的索引为0,第二个元素的索引为1,第n个元素的索引为n-1。 负索引遵循相同的逻辑,但顺序相反。最后一个元素的索引为-1,倒数第二个元素的索引为-2,依此类推: lastElement = exampleList[-1] print("最后一个元素: ", lastElement) print("exampleList: ", exampleList) secondToLast = exampleList[-2] print("倒数第二个元素: ", secondToLast)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5], 6] 倒数第二个元素: ['Four', 5]负索引不会更改原始列表。它只是一种访问元素而不对原始列表进行任何更改的方法。 这是迄今为止最简单和最Pythonic的解决方案,也是大多数人喜欢的方法。 使用索引简单的索引通常用于按原始顺序使用[]运算符访问列表中的元素。如上所述,第一个元素的索引为0,第二个元素的索引为1,依此类推。知道这一点,我们可以得出结论,最后一个元素的索引为len(exampleList)-1: lastElement = exampleList[len(exampleList)-1] print("最后一个元素: ", lastElement) print("exampleList: ", exampleList) secondToLast = exampleList[len(exampleList)-2] print("倒数第二个元素: ", secondToLast)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5], 6] 倒数第二个元素: ['Four', 5]与负索引一样,索引方法只用于访问列表的元素,而不对原始列表执行任何更改。 使用pop()方法在Python中,pop()方法用于删除给定列表的最后一个元素并返回删除的项。 pop()方法可以可选地接受一个整数参数。它是我们想要删除的元素的索引,因此如果我们调用exampleList.pop(0),将删除并返回第一个元素。 如果参数是负数,将执行负索引的逻辑以确定要删除的元素。调用exampleList.pop(-1)将导致删除examleList的最后一个元素。 桑鸟sangniao.com 尽管默认情况下pop()方法已经弹出了最后一个元素,但根本没有必要使用索引: lastElement = exampleList.pop() print("最后一个元素: ", lastElement) print("exampleList: ", exampleList)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5]]请注意,pop()方法根据定义,确实会更改原始列表,通过弹出的元素来删除它。 桑鸟网 使用切片在Python中,切片符号用于获取列表的子列表。符号本身非常简单: exampleList[startIndex:[endIndex[:indexStep]]]这意味着我们可以从startIndex开始的索引中获取exampleList的子列表,一直到带有indexStep步长的endIndex。 endIndex和indexStep是可选的参数。如果我们保留endIndex空白,则其默认值为原始列表的末尾。indexStep的默认值为1。 如果我们有一个列表letters=['a', 'b', 'c', 'd', 'e'],并使用letters[1:3]对其进行切片,则得到的子列表将是['b', 'c', 'd']。这意味着我们正在选择具有索引1、2和3的列表字母。 letters[0:4:2]将返回一个子列表,仅包含偶数索引上的元素 - 0、2、4。 https://www.sangniao.com/ 我们将使用切片符号的关键特征是它支持负索引。 这意味着letters[-1:]可以被解释为:获取列表letters中的所有元素,从最后一个元素到列表letters的末尾。结果的子列表将仅包含原始列表的最后一个元素: lastElement = exampleList[-1:][0] # exampleList[-1:]仅返回子列表- [6] # exampleList[-1:][0]将返回最后一个元素- 6 print("最后一个元素: ", lastElement) print("exampleList: ", exampleList)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5], 6]切片方法仅用于访问列表的元素并使用它们创建新列表 - 而不对原始列表执行任何更改。 使用反向迭代器Python有两个内置函数,我们将在此方法中使用 - reversed()和next()。 reversed()接受一个列表作为参数,并返回该列表的反向迭代器,这意味着迭代是反向的,从最后一个元素开始,一直到第一个元素。next()接受一个迭代器并返回迭代器的下一个元素: reversedIterator = reversed(exampleList) lastElement = next(reversedIterator) print("最后一个元素: ", lastElement)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5], 6]反向迭代器方法仅用于以相反的顺序访问列表的元素 - 而不对原始列表执行任何更改。 应用程序 - 程序员的软件应用工具箱 - 桑鸟网 使用reverse()方法reverse()方法用于反转列表的元素。它不需要任何参数,也不返回任何值,而是在原地反转原始列表。这意味着我们可以反转列表并访问新的第一个元素: # 更新原始列表,反转其元素 exampleList.reverse() # 访问更新列表的第一个元素 lastElement = exampleList[0] print("最后一个元素: ", lastElement) print("exampleList: ", exampleList)输出: 最后一个元素: 6 exampleList: [6, ['Four', 5], 'Three', 2, 1]reverse()方法根据定义确实会更改原始列表,通过反转其元素来删除它。请记住,由于反转列表需要时间,因此这种方法可能会非常低效。 使用itemgetter()operator模块提供了许多高效的方法,在Python中执行所有基本操作,例如数学和逻辑操作,以及其他对象比较和序列操作。 itemgetter()方法是operator模块中的许多方法之一。它接受一个或多个整数作为参数,并返回一个可调用的对象,可以看作是一种特殊的函数类型。 桑鸟sangniao.com 当我们调用operator.itemgetter(0)时,结果对象将是一个函数,用于获取集合中的第一个元素。我们还可以为该对象分配一个名称: getFirstElement = operator.itemgetter(0)现在,我们可以将列表传递给getFirstElement(people),它将返回来自列表people的第一个元素。 itemgetter()操作符支持负索引,因此检索最后一个元素归结为: import operator getLastElement = operator.itemgetter(-1) lastElement = getLastElement(exampleList) print("最后一个元素: ", lastElement) print("exampleList: ", exampleList)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5], 6]此方法不会修改原始列表 - 它生成一个可调用的对象,该对象使用索引访问它。 桑鸟sangniao.com 使用循环现在,一个更手动和基本的方法是使用循环。我们可以遍历列表,使用列表的长度作为最终步骤。然后,在len(list)-1步骤上,我们可以简单地返回该项: for i in range(0, len(exampleList)): if i == (len(exampleList)-1) : lastElement = exampleList[i] print("最后一个元素: ", lastElement) print("exampleList: ", exampleList)输出: 最后一个元素: 6 exampleList: [1, 2, 'Three', ['Four', 5], 6]这也不会更改列表,只是简单地访问一个元素。 结论在Python中,有很多方法可以获取列表中的最后一个元素。选择正确的方法的主要考虑因素是您是否希望删除最后一个元素。 如果您需要获取最后一个元素而不对原始列表执行任何更改,则负索引方法是明显的赢家。这是解决此问题的最简单和最Pythonic的方法。 另一方面,如果您需要删除最后一个元素以及访问它,则应该选择pop()方法,这是执行此行为的内置方法。 版权声明:本文为桑鸟网博主「OETGUETOTBR」的原创文章,转载请附上原文出处链接及本声明。 本文标题:Python获取列表中的最后一个元素 本文地址:https://news.sangniao.com/p/2428011864 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |