📜  Python|列表中 N 个最大元素的索引

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

Python|列表中 N 个最大元素的索引

有时,在使用Python列表时,我们可能会遇到希望找到 N 个最大元素的问题。此任务可能发生在许多领域,例如 Web 开发和使用数据库时。我们有时可能只需要找到它们的索引。让我们讨论在列表中查找 N 个最大元素的索引的某种方法。

方法:使用sorted() + lambda + 列表切片
可以使用上述功能的组合来执行此任务。在这种情况下, sorted()可用于获取容器,需要在后端获取 N 个最大元素,然后可以使用列表切片计算索引。

# Python3 code to demonstrate working of
# Indices of N largest elements in list
# using sorted() + lambda + list slicing
  
# initialize list
test_list = [5, 6, 10, 4, 7, 1, 19]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initialize N 
N = 4
  
# Indices of N largest elements in list
# using sorted() + lambda + list slicing
res = sorted(range(len(test_list)), key = lambda sub: test_list[sub])[-N:]
  
# printing result
print("Indices list of max N elements is : " + str(res))
输出 :
The original list is : [5, 6, 10, 4, 7, 1, 19]
Indices list of max N elements is : [1, 4, 2, 6]