查找数组列表的最小值和最大值

Finding the minimum and maximum of a list of arrays

假设我在一个数组中有 2 个数组,例如:

main_array = [[1, 2, 3, 4], [4, 5, 6, 7]]

我想找到每个数组的 minmax 并将它们存储在一个数组中。对于以上内容,它将是:

result = [1, 4, 4, 7]

在这种情况下,如何使用 Python 的内置 min()max()

我尝试了 min(main_array)max(main_array) 但这给了我:

result = [1,7]
main_array = [[1, 2, 3, 4], [4, 5, 6, 7]]
result = []

for inner_list in main_array:
    result.append(min(inner_list))
    result.append(max(inner_list))

您必须在 lst 的每一项上搜索最小值和最大值。
lst = [[1,2,3,4],[4,5,6,7]]
m = []
对于 lst 中的 k:m.append([min(k), max(k)])
=> [[1, 4], [4, 7]]

可能更易读的方法是:

result = []
for list in main_array:
    result.append(min(list))
    result.append(max(list))

print(result)

您可以只在单个列表上使用 min()max() 来获取它的 min/max 值。您还可以使用列表理解来遍历列表中的列表和您要使用的函数:

main_array = [[1,2,3,4], [4,5,6,7]]    
res = [func(l) for l in main_array for func in (min, max)]    
print(res)

尝试

main_array = [[1,2,3,4],[4,5,6,7]]

out = []
for arr in main_array:
    out.extend([min(arr), max(arr)])

print(out)

您需要遍历每个子数组并调用 minmax

您也可以使用生成器

def minthenmax(arr):
    for i in arr:
        yield min(i)
        yield max(i)

print(list(minthenmax(main_array)))

首先,您在主数组的定义中缺少一个公共...

 main_array = [[1,2,3,4],[4,5,6,7]]

获取第一个子数组的最小值。

min(main_array[0])

...以及最大值...

max(main_array[0])

希望你能解决剩下的问题。

一行。您可以使用内置映射函数将两个内部列表映射到 min 函数,然后再映射到 max 函数。最后你可以连接它们。

map(min, main_array) + map(max, main_array)

main_array = [[1,2,3,4],[4,5,6,7]]
x = min(main_array[0]), max(main_array[0])
y = min(main_array[1]), max(main_array[1])
new_array = [i for i in x + y]
print (new_array)

输出:

[1, 4, 4, 7]