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]