如何在 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 中操作可迭代对象。
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