获取Python中每个子列表的最后一个元素


Python中的列表也可以包含其他列表作为其元素。这些嵌套列表称为子列表。本文将解决从给定列表中检索每个子列表的最后一个元素的挑战。

使用for循环

这是一个非常简单的方法,我们循环遍历子列表,获取其中索引为-1的项。如下所示,为此目的使用for循环。

示例

 在线演示

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("Lastst Items from sublists:\n")
for item in Alist:
   print((item[-1]))

输出

运行上述代码,我们将得到以下结果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
1
Fri
7

使用zip和*

*允许我们解包子列表并访问子列表的各个元素。因此,在这种情况下,我们将使用*和反转列表来访问每个元素中索引为0的元素。然后,我们最终压缩结果以获得子列表中第一个元素的列表。

示例

 在线演示

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(list(zip(*map(reversed,Alist)))[0]))

输出

运行上述代码,我们将得到以下结果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
[1, 'Fri', 7]

使用itemgetter

itemgetter(i)构造一个可调用对象,它接受字典、列表、元组等可迭代对象作为输入,并从中获取第i个元素。因此,我们可以使用此方法使用map函数获取列表中的第一项,如下所示。

示例

 在线演示

from operator import itemgetter

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(map(itemgetter(-1), Alist)))

输出

运行上述代码,我们将得到以下结果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
[1, 'Fri', 7]

更新于:2020年9月9日

2K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.