獲取 Python 中每個子列表的第一個元素


Python 中的列表也可以包含列表作為其元素。這些巢狀列表稱為子列表。在本文中,我們將解決從給定列表中檢索每個子列表的第一個元素的挑戰。

使用 for 迴圈

這是一種非常簡單的方法,我們遍歷子列表並在其中獲取索引為 0 的項。為此目的使用 for 迴圈,如下所示。

示例

 即時演示

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

輸出

執行以上程式碼,我們得到以下結果:

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

使用 zip 和 *

* 允許我們解包子列表並訪問子列表的各個元素。因此,在這種情況下,我們將使用 * 並從每個元素中訪問索引為 0 的元素。然後,我們最終使用 zip 將結果壓縮成一個包含子列表中第一個元素的列表。

示例

 即時演示

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(*Alist))[0]))

輸出

執行以上程式碼,我們得到以下結果:

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

使用 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(0), Alist)))

輸出

執行以上程式碼,我們得到以下結果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]

First Items from sublists:

['Mon', 'Tue', 12]

更新於: 2020年9月9日

4K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告