📜  Python|在列表列表中查找每个索引的最小值(1)

📅  最后修改于: 2023-12-03 14:46:27.444000             🧑  作者: Mango

Python | 在列表列表中查找每个索引的最小值

在Python中,我们经常需要在列表和列表中查找最小值。当我们有一个嵌套的列表时,需要找到这个列表中每个索引处的最小值。这个问题可以通过使用列表解析和嵌套循环来解决。本文将介绍如何在Python中实现这个问题的解决方案。

方法一:使用列表解析和嵌套循环
# 定义一个嵌套列表
lst = [[4, 5, 2, 1], [7, 9, 1, 3], [8, 2, 6, 4]]

# 使用列表解析和嵌套循环查找每个索引处的最小值
min_lst = [min(i) for i in zip(*lst)]

# 输出结果
print(min_lst)

输出结果:

[4, 2, 1, 1]

在这个例子中,我们使用Python的zip()函数和嵌套循环创建一个新的列表,将原来的列表“转置”为一个新的列表,每个内部列表中的元素都相当于原来列表的每个索引的值。然后,我们使用列表解析和min()函数找到每个“转置”列表中的最小值,并将其存储在一个新的列表中。这样,我们就可以找到原始列表中每个索引处的最小值了。

方法二:使用NumPy库
# 导入NumPy库
import numpy as np

# 定义一个嵌套列表
lst = [[4, 5, 2, 1], [7, 9, 1, 3], [8, 2, 6, 4]]

# 使用NumPy库找到每个索引处的最小值
min_lst = np.min(lst, axis=0)

# 输出结果
print(min_lst)

输出结果:

[4 2 1 1]

在这个例子中,我们使用了NumPy库的min()函数来查找每个索引处的最小值。NumPy库是专门为科学计算而设计的,它提供了很多方便的函数和工具。我们可以使用axis=0参数指定要在哪个轴上查找最小值。这里,我们将axis=0设置为查找列中的最小值,而不是行中的最小值。

总结:

在Python中,有多种方法可以在列表列表中查找每个索引的最小值。可以使用列表解析和嵌套循环,也可以使用NumPy库。无论使用哪种方法,都可以轻松地解决这个问题,使代码更加优雅和高效。