📜  Python|获取第 K 个元素直到 N

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

Python|获取第 K 个元素直到 N

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

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

# Python3 code to demonstrate
# Get Kth 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
  
# initializing K 
K = 1
  
# using list comprehension + list slicing
# Get Kth element till N
res = [i[K] for i in test_list[ : N]] 
  
# print result
print("The Kth element of sublist till N : " + str(res))
输出 :
The original list : [['Geeks', 1, 15], ['for', 3, 5], ['Geeks', 3, 7]]
The Kth element of sublist till N : [1, 3]

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

# Python3 code to demonstrate
# Get Kth 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
  
# initializing K 
K = 1
  
# using map() + itemgetter() + islice()
# Get Kth element till N
res = list(map(itemgetter(K), islice(test_list, 0, N)))
  
# print result
print("The Kth element of sublist till N : " + str(res))
输出 :
The original list : [['Geeks', 1, 15], ['for', 3, 5], ['Geeks', 3, 7]]
The Kth element of sublist till N : [1, 3]