获取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]