在本教程中,我们将编写一个程序,该程序返回一个子列表元素,直到列表中的第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']
您可以使用任何元素代替第一个元素。我们已将第一个要素用于演示。如果您对本教程有任何疑问,请在评论部分中提及。