Python – 查找 k 最小元素的索引
有时,在使用Python列表时,我们可能会遇到希望找到 K 个最小元素的索引的问题。此任务可能发生在许多领域,例如 Web 开发和使用数据库时。我们有时可能只需要找到它们的索引。让我们讨论一种在列表中查找 K 个最小元素的索引的方法。
使用sorted()
+ lambda + 列表切片
可以使用上述功能的组合来执行此任务。在此sorted()
可用于以需要在前端获取 K 最小元素的方式获取容器,然后可以使用列表切片计算索引。
# Python3 code to demonstrate working of
# Smallest K elements indices
# 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 K
K = 3
# Smallest K elements indices
# using sorted() + lambda + list slicing
res = sorted(range(len(test_list)), key = lambda sub: test_list[sub])[:K]
# printing result
print("Indices list of min K elements is : " + str(res))
输出 :
The original list is : [5, 6, 10, 4, 7, 1, 19]
Indices list of min K elements is : [5, 3, 0]