python,numpy数组如何返回最大值数组?

a=[1,2,5,2,3,7,4]
arr=np.array(a)
求每个元素的前三个元素的最大值,并组成新数组,最终结果应该是如下:
result=[1 2 5 5 5 7 7]
要求不使用for循环的方法
找到答案了,制造错位数组就可以了:
import numpy as np
a=[1,2,3,44,55,22,11,22,32,14,25,12]
a=np.array(a)
b=np.pad(a[:-1],(1,0),'constant')
print np.maximum(a,b)

如果是list,有max(list)
也可以自己写排序算法,比如冒泡排序

a=[3,4,2,6,3]for i in range(0,len(a)): for j in range(i+1,len(a)): first=int(a[i]) second=int(a[j]) if first<second: a[i]=a[j] a[j]=firstprint a[0]追问

numpy数组啊 要求不使用for循环 就想看看有没有数组运算方式来解决这个问题

温馨提示:答案为网友推荐,仅供参考
相似回答