查找数组列表的最小值和最大值
Finding the minimum and maximum of a list of arrays
假设我在一个数组中有 2 个数组,例如:
main_array = [[1, 2, 3, 4], [4, 5, 6, 7]]
我想找到每个数组的 min
和 max
并将它们存储在一个数组中。对于以上内容,它将是:
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)
您需要遍历每个子数组并调用 min
和 max
。
您也可以使用生成器
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]
假设我在一个数组中有 2 个数组,例如:
main_array = [[1, 2, 3, 4], [4, 5, 6, 7]]
我想找到每个数组的 min
和 max
并将它们存储在一个数组中。对于以上内容,它将是:
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)
您需要遍历每个子数组并调用 min
和 max
。
您也可以使用生成器
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]