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.