📜  Python|获取子列表元素直到 N

📅  最后修改于: 2022-05-13 01:55:08.804000             🧑  作者: Mango

Python|获取子列表元素直到 N

有时,我们可能会遇到一个实用程序,在该实用程序中,我们需要获取前 N 个子列表元素,而这些元素也只有一个特定的索引。这可以在排队中应用以仅获取最初的 N 人的姓名。让我们讨论一些可以做到这一点的方法。

方法 #1:使用列表推导和列表切片
上面两个强大的Python实用程序在这里也可以用来获得结果,因为列表推导可以提取元素切片可以限制我们需要提取的大小。

# Python3 code to demonstrate
# getting sublist element till N
# using list comprehension + list slicing 
  
# initializing list 
test_list = [['Geeks', 1, 15], ['for', 3, 5], ['Geeks', 3, 7]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing N
N = 2
  
# using list comprehension + list slicing
# getting sublist element till N
res = [i[0] for i in test_list[ : N]] 
  
# print result
print("The first element of sublist till N : " + str(res))
输出 :
The original list : [['Geeks', 1, 15], ['for', 3, 5], ['Geeks', 3, 7]]
The first element of sublist till N : ['Geeks', 'for']

方法 #2:使用map() + itemgetter() + islice()
上述 3 个功能的组合可用于执行此特定任务。 itemgetter函数获取要提取的元素,islice 切片直到 N 和 map函数组合结果。

# Python3 code to demonstrate
# getting sublist element till N
# using map() + itemgetter() + islice()
from operator import itemgetter
from itertools import islice
  
# initializing list 
test_list = [['Geeks', 1, 15], ['for', 3, 5], ['Geeks', 3, 7]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing N
N = 2
  
# using map() + itemgetter() + islice()
# getting sublist element till N
res = list(map(itemgetter(0), islice(test_list, 0, N)))
  
# print result
print("The first element of sublist till N : " + str(res))
输出 :
The original list : [['Geeks', 1, 15], ['for', 3, 5], ['Geeks', 3, 7]]
The first element of sublist till N : ['Geeks', 'for']