Python - 元组列表中的最小值
手头的问题是使用 Python 编程语言从给定的元组列表中找到最小值。因此,基本上,每当我们谈论查找最小值时,我们都会使用 Python 内置函数中定义的 min 函数。在本文中,我们将了解从元组列表中获取最小值的几种不同方法。
什么是元组列表或元组列表?
元组列表,我们也可以称之为元组列表,是 Python 编程中的一种数据结构。元组列表包含多个元组作为其项目。或者我们可以说列表中的每个元素都是一个元组。为了更好地理解,我们可以查看下面的示例 -
list_of_tuple = [('x', 4), (‘y', 8), ('z', 12)]
因此,在这里我们看到了什么是元组列表以及它在 Python 中的外观。上面的示例包含三个元组。每个元组内都有两个项目,一个是字符,另一个是整数。我们可以使用索引访问这些项目。例如 -
print(list_of_tuple[1])
#Output ('y', 8)
因此,借助元组列表,我们可以执行元组和列表的操作,这是一种操作和存储数据的便捷方式。
理解问题
问题陈述是从给定的元组列表中找到最小值。正如我们已经看到什么是元组列表,因此为了理解给定的问题,我们将看一个例子。假设我们得到一个如下所示的元组列表 - [('w', [2,4]), ('x', [4,8]), ('y', [8,12]), (‘z’, [1,2])],此示例中的最小值为 - [('w’, 2), ('x', 4), ('y', 8), (‘z’,1)]。
使用 for 循环和 min 函数
在这种方法中,我们将使用 for 循环和 min 函数从给定的元组列表中查找最小项。在这种方法中,我们将创建一个包含列表的元组列表,在这个列表中我们将有元组。我们将初始化一个空数组来存储结果。然后,借助循环,我们将遍历每个列表并找到最小数字,然后将其添加到或附加到我们最初声明的数组中。
算法
步骤 1 - 因此,首先我们将定义一个元组列表并将其命名为 tupleList。此变量将包含列表,并且在此列表中有多个元组。并且在每个元组中都有另一个包含列表。我们的任务是在此列表中找到最小值。
步骤 2 - 在上述步骤之后,我们将创建一个对象来包含结果元组列表并将其命名为 min_values。
步骤 3 - 然后我们将初始化一个循环来迭代元组列表。在此循环中,我们将对元组内的每个列表使用 min 函数,并将最小值存储在 min_val 中。
步骤 4 - 之后,我们将使用 append 方法将所有 min_val 附加到 min_values 对象中。然后打印 min_values 的值。
示例
tupleList = [('X', [14, 12, 25]), ('Y', [21, 32, 24]), ('Z', [45, 30, 16])]
# Find the minimum value in each list
min_values = []
for k, l in tupleList:
min_val = min(l)
min_values.append((k, min_val))
#The input tuple list
print("Input tuple list: " + str(tupleList))
# printing the minimum values
print("The minimum values are: " + str(min_values))
输出
Input tuple list: [('X', [14, 12, 25]), ('Y', [21, 32, 24]), ('Z', [45, 30, 16])]
The minimum values are: [('X', 12), ('Y', 21), ('Z', 16)]
复杂度
使用这种方法从给定的元组列表中查找最小值的时间复杂度为 O(n*m),其中 n 是给定 tupleList 的长度,m 是元组内列表的最大大小。
使用 min 和 lambda 函数
在这种方法中,我们将使用 Python 编程语言的两个内置函数,第一个是 min,第二个是 lambda 函数。因此,在第一步中,定义一个函数来从给定的元组列表中查找最小值。之后,我们将使用 min 函数获取最小值。然后使用 lambda 函数,它是一个匿名函数来定义单行函数而不给出函数的名称。
算法
步骤 1 - 首先,我们将使用 def 关键字定义一个函数,并将此函数命名为 getMinValue,在此函数中,我们将采用元组列表作为参数 t_list。
步骤 2 - 定义函数后,我们将最小值存储在 min_item 变量中,并使用 min 函数和 lambda 函数初始化其值。在 lambda 函数中,我们将为元组列表中的每个值定义键。
步骤 3 - 现在我们将返回在步骤二中找到的最小值。并打印所需的值。
示例
#Function to find the minimum value from tuple list
def getMinValue(t_list):
min_item = min(t_list, key=lambda x: x[0])
return min_item[0]
#initialize the tuple list
t_list = [(12, 18), (16, 13), (14, 19)]
min_item = getMinValue(t_list)
print(f"Minimum value in the given tuple list is: {min_item}")
输出
Minimum value in the given tuple list is: 12
复杂度
使用 min 和 lambda 等内置函数从元组列表中查找最小值的时间复杂度为 O(n),其中 n 是给定输入元组列表的大小。因为我们使用了 min 函数来迭代元组列表的项目,并且从列表中访问最小值需要 n 次时间。
结论
结论是,我们已经成功地实现了代码,使用不同的方法从元组列表中获取最小值,并查看了所有方法的时间复杂度。我们还看到了 lambda 函数在此问题中的用法。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP