如何在 Python 中查找列表中的最大值

Rayven Esplanada 2023年1月30日 2020年11月24日
  1. 在 Python 中使用 for 循环查找列表中的最大值
  2. 在 Python 中使用 max() 函数查找列表中的最大值
  3. 在 Python 中查找嵌套列表中的最大值
如何在 Python 中查找列表中的最大值

本教程将演示如何在 Python 中查找列表中的最大值。

本教程将涵盖一些场景和数据类型,从简单的整数列表到更复杂的结构,如数组中的数组。

在 Python 中使用 for 循环查找列表中的最大值

Python for 循环可以通过比较数组中的每个值并将最大的值存储在一个变量中,从而找到列表中的最大值。

例如,让我们声明一个随机整数的数组,并打印出最大值。同时,声明一个变量 max_value 来存储最大值,并在循环结束后将其打印出来。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = None

for num in numbers:
    if (max_value is None or num > max_value):
        max_value = num

print('Maximum value:', max_value)

输出:

Maximum value: 104

如果需要用最大值的索引来进一步操作输出,只需使用 Python 函数 enumerate,它可以使 for 循环接受第二个参数,表示当前循环迭代的索引。

添加一个新变量 max_idx 来存储最大值的最大索引。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = None
max_idx = None

for idx, num in enumerate(numbers):
    if (max_value is None or num > max_value):
        max_value = num
        max_idx = idx

print('Maximum value:', max_value, "At index: ", max_idx)

输出:

Maximum value: 104 At index: 4

在 Python 中使用 max() 函数查找列表中的最大值

Python 有一个预先定义的函数,叫做 max(),它可以返回一个列表中的最大值。

使用 max() 寻找最大值只需要一行代码。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = max(numbers)
print('Maximum value:', max_value)

输出:

Maximum value: 104

如果你需要最大值的索引,我们可以调用 Python 列表中内置的 index() 函数。该函数将返回数组中指定元素的索引。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = max(numbers)
print('Maximum value:', max_value, "At index:", arr.index(max_value))

输出:

Maximum value: 104 At index: 4

使用 max() 在字符串和字典列表中查找最大值

函数 max() 还提供对字符串列表和字典数据类型的支持。

对于一个字符串列表,函数 max() 将返回最大的元素,按字母排序。字母 Z 是最大的值,A 是最小的值。

strings = ['Elephant', 'Kiwi', 'Gorilla', 'Jaguar', 'Kangaroo', 'Cat']

max_value = max(strings)
print('Maximum value:', max_value, "At index:", strings.index(max_value))

输出:

Maximum value: Kiwi At index: 1

在 Python 中查找嵌套列表中的最大值

一个更复杂的例子是在 Python 中寻找嵌套列表的最大值。

首先,我们在一个嵌套列表中声明随机值。

nst = [ [1001, 0.0009], [1005, 0.07682], [1201, 0.57894], [1677, 0.0977] ]

从这个嵌套列表中,我们想得到嵌套列表中第 2 个元素的最大值。我们还想把第 1 个元素打印出来,并把它当作一个索引。嵌套列表的处理方式更像是一个列表中的键值对。

为了找到这个复杂结构的最大值,我们可以使用函数 max() 及其可选的参数 key,它记下了嵌套列表中要比较的元素。

nst = [ [1001, 0.0009], [1005, 0.07682], [1201, 0.57894], [1677, 0.0977] ]

idx, max_value= max(nst, key=lambda item: item[1])

print('Maximum value:', max_value, "At index:",idx)

key 参数接受一个 lambda 函数,将允许函数 max() 返回一个键值对。

输出:

Maximum value: 0.57894 At index: 1201

总而言之,本教程涵盖了在 Python 中寻找不同类型列表中的最大值的不同方法。你可以在这里阅读更多关于函数 max() 及其不同参数的信息。除了 max() 之外,还有一些内置的函数,如 min()all()any(),可以在 Python 中操作可迭代对象。

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

相关文章 - Python List