獲取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.