📅  最后修改于: 2023-12-03 15:38:39.516000             🧑  作者: Mango
对于给定的嵌套列表,我们可以使用Python中的列表推导式来实现一行代码的最小值查找。我们可以使用 min()
函数来找到每个子列表的最小值,然后使用列表推导式将所有最小值放入一个新的列表中。最后,我们可以使用 min()
函数找到新列表的最小值即可。
以下是一个示例程序:
nested_list = [[5, 10, 15], [20, 25, 30], [35, 40, 45]]
min_values = [min(sublist) for sublist in nested_list]
min_value = min(min_values)
print(min_value)
这将输出 5
,即给定嵌套列表中的最小值。
在上面的示例中,我们使用了列表推导式来遍历所有子列表并找到每个子列表中的最小值。 min(sublist)
返回当前子列表的最小值。我们将结果存储在 min_values
列表中。最后,我们使用 min(min_values)
来获取所有子列表的最小值。
如果我们需要忽略某些子列表中的值,我们可以在列表推导式中添加条件语句来过滤掉这些子列表。
以下是在过滤元素的示例代码:
nested_list = [[5, 10, 15], [20, 25, 30], [35, 40, 45], [50, 55, 60, 0]]
min_values = [min(sublist) for sublist in nested_list if len(sublist) > 3]
min_value = min(min_values)
print(min_value)
在上面的示例中,我们额外添加了一个条件 if len(sublist) > 3
,只有当子列表的长度大于3时才会计算最小值。因此,子列表 [50, 55, 60, 0]
中的 0
将被忽略。
这里还有一个更简单的方法,使用嵌套的 min()
函数,可以避免使用列表推导式:
nested_list = [[5, 10, 15], [20, 25, 30], [35, 40, 45]]
min_value = min(min(sublist) for sublist in nested_list)
print(min_value)
这将输出与前一个示例相同的结果 5
。
在上面的示例中,我们直接在嵌套的 min()
函数中找到了每个子列表的最小值和嵌套列表的最小值。这个过程是逐步进行的,内层的 min()
函数找到每个子列表的最小值,外层的 min()
函数找到这些最小值中的最小值。
无论采用哪种方法,我们都可以在Python中轻松查找嵌套列表中的最小值。