在Python中获取列表的第一个和最后一个元素

2025 年 3 月 4 日 | 阅读 5 分钟

有时,可能会遇到需要找出数字在列表哪个范围内的情况。在这种情况下,我们需要检索列表中第一个和最后一个数据元素的值。Python 中有许多方法可以实现所需的目标。列表索引或列表切片是我们可能用于获取列表第一个和最后一个数据元素的两种方法。通过使用带有 [0] 的索引,可以获取第一个元素,使用 [-1] 可以获取最后一个元素。获取相同结果的另一种方法是使用 [:1] 和 [-1:] 来切片列表。

在以下教程中,我们将学习不同的方法,这些方法将使我们能够在 Python 编程语言 中检索列表的第一个和最后一个数据元素。

使用索引检索列表的第一个数据元素

这项特定的工作可以通过使用主列表内的列表索引来完成。这是完成此特定任务以获取列表中第一个项时最基本的方法。

输出

 
initial array is : [8, 3, 9, 2, 7]
first element of the array is : [8]   

说明

此代码演示了如何在 Python 中使用列表索引从列表中检索第一个元素。它首先打印名为 sample_array 的初始列表。然后,它使用列表索引获取第一个元素 (sample_array[0]) 并将其放入一个名为 first_element 的新列表中。最后,它打印从列表中提取的第一个元素。输出同时显示了原始列表和从中提取的第一个元素。

  • 时间复杂度: O(n),其中 n 是输入列表的长度。这是因为,在最坏的情况下,我们的 defaultdict() + 循环具有 O(n) 的时间复杂度。
  • 辅助空间: O(n),因为除了具有相同长度的输入列表之外,我们还使用了额外的空间资源。

使用索引检索列表的最后一个数据元素

这项特定的工作可以通过使用主列表内的列表索引来完成。这是完成此特定目标,即获取列表中最后一个元素时,最简单的方法。

输出

 
given list  : [8, 3, 9, 2, 7]
last element of  list : [7]    

说明

此代码展示了如何在 Python 中使用负索引来获取列表的最后一个条目。首先打印原始列表 num_list。接下来,获取最后一个元素 (num_list[-1]) 并将其存储在新列表 last_element 中,该列表也会被显示。

  • 时间复杂度: O(1),即花费恒定的时间
  • 辅助空间: O(1),因为我们使用了恒定的额外空间

使用列表切片获取列表的第一个和最后一个数据元素

列表切片方法也可用于完成获取第一个和最后一个成员的特定目的。在第一个元素之后,我们可以使用整个列表的步长直接移到最后一个元素。

输出

 
initial list  : [8, 3, 9, 2, 7]
 first and last elements of the list  : [8, 7]    

说明

此代码向您展示了如何使用列表切片获取列表的开头和结尾条目。通过以 len(num_list)-1 的步长,它通过从头到尾切片列表 num_list 来有效地捕获列表的第一个和最后一个成员。之后,将打印结果。

使用列表推导式确定列表中的第一个和最后一个数据元素

与使用循环方法相比,列表推导式可用于更快地查找列表的第一个和最后一个数据元素。此方法将发现的简单方法缩减到一行。

输出

 
initial array : [8, 3, 9, 2, 7]
 first and last elements: [8, 7]    

说明

此代码打印列表 num_list 的初始化。然后使用列表推导式从列表中获取第一个和最后一个元素,并将它们存储在结果中,然后打印出来。

  • 时间复杂度: O(n),其中 n 是 given_list 的长度。
  • 辅助空间: O(1)

使用 map() 和 __getitem__ 方法获取列表的第一个和最后一个数据元素

本质上,这些方法允许我们检索列表中特定位置的元素。我们映射两个列表,匹配一个包含元素的列表和另一个包含我们要查找的元素索引的列表,并使用 __getitem__ 从索引列表中保留的索引中检索元素。

输出

 
initial list  : [8, 3, 9, 2, 7]
 first and last elements of  list :  8 7    

说明

为了定位第一个和最后一个条目,此代码构造了一个名为 pos_list 的索引列表,并初始化了一个名为 num_list 的列表。它通过使用 map 和 __getitem__ 来获取并发布这些组件。