Python – 查找列表中最小元素的索引
有时,在使用Python列表时,我们可能会遇到一个问题,即我们打算找到列表中最小元素的位置。这个任务很简单,并且讨论了很多次。但有时,我们可以有多个最小元素,因此可以有多个最小位置。让我们讨论实现此任务的方法。
方法 #1:使用min() + enumerate()
+ 列表理解
在此方法中,上述功能的组合用于执行此特定任务。这分两步进行。首先,我们获取最小元素,然后使用列表推导访问列表,并使用枚举访问相应元素,并提取每个元素位置等于步骤 1 中处理的最小元素。
# Python3 code to demonstrate working of
# Minimum element indices in list
# Using list comprehension + min() + enumerate()
# initializing list
test_list = [2, 5, 6, 2, 3, 2]
# printing list
print("The original list : " + str(test_list))
# Minimum element indices in list
# Using list comprehension + min() + enumerate()
temp = min(test_list)
res = [i for i, j in enumerate(test_list) if j == temp]
# Printing result
print("The Positions of minimum element : " + str(res))
输出 :
The original list : [2, 5, 6, 2, 3, 2]
The Positions of minimum element : [0, 3, 5]
方法 #2:使用循环 + min()
这是执行此任务的粗暴方法。在此,我们计算最小元素,然后迭代列表以等于最小元素并存储索引。
# Python3 code to demonstrate working of
# Minimum element indices in list
# Using loop + min()
# initializing list
test_list = [2, 5, 6, 2, 3, 2]
# printing list
print("The original list : " + str(test_list))
# Minimum element indices in list
# Using loop + min()
temp = min(test_list)
res = []
for idx in range(0, len(test_list)):
if temp == test_list[idx]:
res.append(idx)
# Printing result
print("The Positions of minimum element : " + str(res))
输出 :
The original list : [2, 5, 6, 2, 3, 2]
The Positions of minimum element : [0, 3, 5]