假设我在一个数组中有2个数组,如:
main_array = [[1, 2, 3, 4], [4, 5, 6, 7]]
我想找到每个数组的min
和max
,并将它们存储在一个数组中。对于上述情况,它将是:
result = [1, 4, 4, 7]
在这种情况下,如何使用内置min()
和max()
的Python?
我试过了min(main_array)
和max(main_array)
,但那是给了我:
result = [1,7]
答案 0 :(得分:10)
您可以在单个列表中使用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)
答案 1 :(得分:1)
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))
答案 2 :(得分:1)
可能更容易理解的方法是:
result = []
for list in main_array:
result.append(min(list))
result.append(max(list))
print(result)
答案 3 :(得分:1)
尝试
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)))
答案 4 :(得分:0)
你必须在每个项目上搜索最小值和最大值。
lst = [[1,2,3,4],[4,5,6,7]]
m = []
对于k in lst:m.append([min(k),max(k)])
=> [[1,4],[4,7]]
答案 5 :(得分:0)
首先,你错过了主阵列定义中的一个共同点......
main_array = [[1,2,3,4],[4,5,6,7]]
获取第一个子阵列的最小值。
min(main_array[0])
......和最大......
max(main_array[0])
希望你可以解决这个问题。
答案 6 :(得分:0)
在一行中。您可以使用内置映射函数将两个内部列表映射到min
函数,然后映射到max
函数。最后你可以连接它们。
map(min, main_array) + map(max, main_array)
答案 7 :(得分:0)
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]