Python 在列表中找到最小元素的索引

Python 在列表中找到最小元素的索引

列表中最小值的位置通过最小元素的索引指示。每个列表元素都有一个唯一的索引,随着每个附加元素的增加而递增,从第一个元素开始为零。通过确定最小元素的索引,我们可以找到列表中最小值的确切位置。在Python中,我们有一些内置函数,例如min()、index()、argmin()、lambda()和enumerate(),用于在列表中找到最小元素的索引。

语法

以下示例中使用的语法-

min()

min()是Python中的内置函数,用于返回最小值。

index()

index() 是 Python 中的一个内置函数,用于在列表中查找元素并返回元素的位置。

argmin()

Python的内置函数argmin()可以帮助找到最小的元素,并返回最小元素的位置索引。

lambda

这个lambda函数在Python中被称为匿名函数。它可以在需要函数对象时使用。

enumerate()

enumerate()是Python中的内置函数,允许在循环中跟踪迭代。

使用index()函数

该程序使用index()函数返回列表中元素的特定位置/索引。它还使用内置函数min()来获取最小索引元素。

示例

在以下示例中,通过使用名为find_min_index()的函数(通过函数调用访问变量my_list),启动程序。然后使用相同的参数调用内置函数min(),它将从列表中找到最小值并将其存储在变量min_value中。现在,将内置方法index()与变量lst一起使用,以获取列表中存在的最小值的特定位置索引。接下来,使用函数return min_index返回最小索引。继续创建存储一些整数值的变量my_list。然后在变量min_index中使用函数调用,并使用相同的变量作为print()函数的参数来获取结果。

def find_min_index(lst):
    min_value = min(lst)
    min_index = lst.index(min_value)
    return min_index

# Create the list
my_list = [50, 2, 19, 11, 27]
min_index = find_min_index(my_list)
print(" The minimum index position:\n", min_index)

输出

The minimum index position:
 1

使用enumerate()

该程序使用内置函数enumerate()来跟踪列表上的迭代,并使用for循环帮助找到最小索引元素。

示例

在以下示例中,使用递归技术来解决这个问题描述。一个数字列表作为参数传递给函数find_min_index。然后,在函数中使用min函数来获取输入列表中的最小值。然后,代码使用for循环和enumerate函数迭代输入列表的索引和值。将每个索引-值对的值与最小值进行比较。如果值等于最小值,则该方法返回列表中的最小元素索引。

def find_min_index(lst):
    min_value = min(lst)
    for index, value in enumerate(lst):
        if value == min_value:
            return index
# Create the list
my_list = [11, 12, 13, 14, 15]
min_index = find_min_index(my_list)
print("The minimum index position from the list:\n", min_index)

输出

The minimum index position from the list:
 0

使用numpy.argmin()函数

该程序使用了名为numpy的模块中的内置函数argmin(),用于找到最小元素及其索引。

示例

在以下示例中,首先导入numpy模块并将其引用对象命名为np。接下来,使用递归函数使用一些内置函数,比如array()(用于存储相同类型的列表元素)和argmin()(返回最小元素的索引和元素值),并将它们分别存储到相应的变量中。然后使用函数return获取所需的结果。

import numpy as np

def find_min_index(lst):
    arr = np.array(lst)
    min_index = np.argmin(arr)
    return min_index

# create the list
my_list = [100, 676, 66, 987, 99, 111, 55, 444]
min_index = find_min_index(my_list)
print("The minimum index position from the list:\n", min_index)

输出

The minimum index position from the list:
 6

使用lambda函数使用min()

这是解决该问题的另一种方法,使用了三个内建函数来找到列表中最小元素的索引。

示例

在以下示例中,使用一个名为find_min_index的函数来开始程序,该函数接受参数lst以获取值的列表。然后使用一些内建函数- min()、range()、len()和lambda来初始化变量min_index,该变量存储值,它将在列表中找到元素的最小索引。然后,使用函数调用变量my_list作为参数,并将其存储在变量min_index中。最后,我们使用变量min_index的帮助打印结果。

def find_min_index(lst):
    min_index = min(range(len(lst)), key=lambda i: lst[i])
    return min_index

# Create the list
my_list = [5, 2, 9, 1, 7]
min_index = find_min_index(my_list)
print("The minimum index present at:\n", min_index)

输出

The minimum index present at:
 3

使用sorted()函数

该程序使用内置函数sorted(),接受两个参数- enumerate()用于迭代列表并key设置内置函数lambda来对列表中的最小元素进行排序。

示例

在以下示例中,将会给出一个输入列表通过函数调用。然后函数定义接收该列表并使用内置函数sorted()来处理最小索引元素。然后在函数内使用enumerate函数构建一个元组列表,每个元组包含输入列表的索引和值。使用排序函数对这个元组列表进行升序排序,使用key参数指定一个lambda函数来提取每个元组的值。通过函数返回,将获得最小值。接下来,在变量my_list中创建输入列表。然后使用函数调用来传递列表值(即my_list)的参数,并将其存储在变量min_index中。最后,使用相同的变量作为print函数的参数来获得结果。

def find_min_index(lst):
    sorted_list = sorted(enumerate(lst), key=lambda x: x[1])
    min_index = sorted_list[0][0]
    return min_index

# Create the list
my_list = [11, 7, 18, 20, 12, 0]
min_index = find_min_index(my_list)
print("The minimum index present at:\n",min_index)

输出

The minimum index present at:
 5

结论

我们讨论了解决这个问题陈述的各种方法,学习了Python的一些内置函数,例如min()、array()、sorted()、enumerate()、index()和argmin()。本文帮助我们基于在任何搜索应用中查找元素来构建逻辑。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程