Python 獲取子列表元素直到第 N 個


在本教程中,我們將編寫一個程式,該程式返回列表中直到第 n 個子列表的子列表元素。假設我們有以下包含 5 個子列表的列表。

[['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#', 'C++'], ['React', 'Angular']] 現在,我們必須從前三個子列表中獲取第一個元素。我們可以透過不同的方法獲取這些元素。讓我們看看其中的一些方法。

迴圈

大多數程式設計師首先想到的是使用迴圈,這是一種更通用的方法。讓我們看看使用迴圈的程式碼。

示例

 線上演示

# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# empty list to store final elements from the sublists
desired_elements = []
# iterating over the list till 3rd element
for i in range(N):
   # storing the first element from the sublist
   desired_elements.append(random_list[i][0])
# printing the elements
print(desired_elements)

輸出

如果執行以上程式碼,則會得到以下結果。

['Python', 'C', 'Javascript']

我們可以使用**列表推導式**代替**for 迴圈**。讓我們看看使用列表推導式的相同程式碼。

示例

 線上演示

# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# getting first element from the sublists
desired_elements = [sublist[0] for sublist in random_list[:N]]
# printing the elements
print(desired_elements)

輸出

如果執行以上程式碼,則會得到以下結果。

['Python', 'C', 'Javascript']

使用內建方法

Python 提供了許多內建模組和方法。讓我們使用它們來解決我們的問題。我們將使用**map、itemgetter**和**islice**方法來實現預期的輸出。讓我們看看程式碼。

示例

 線上演示

# importing the required methods
import operator # for itemgetter
import itertools # for islice
# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# getting first element from the sublists
desired_elements = list(map(operator.itemgetter(0), itertools.islice(random_list, N)))
# printing the elements
print(desired_elements)

輸出

如果執行以上程式碼,則會得到以下結果。

['Python', 'C', 'Javascript']

結論

您可以使用任何元素來代替第一個元素。我們已經使用了第一個元素進行演示。如果您對本教程有任何疑問,請在評論區提出。

更新於:2020年7月6日

200 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.