python中求取列表的极大值

python中求取列表的极大值,第1张

# -*- encoding = 'utf-8' -*-
'''
功能:给定一个一维列表,求取列表中的极大值并返回
'''
def seekopp(list_2,i):
    for j in range(i-1,-1,-1):
        if list_2[j]==0:
            continue 
        elif list_2[j]>0:
            return 1
        elif list_2[j]<0:
            return 0

def local_maximum(list_1):
    a=len(list_1)
    if a==0:
        return 'error'
    if a==1:
        return list_1
    if a==2:
        if list_1[0]>list_1[1]:
            return list_1[0]
        elif list_1[0]2:
        list_2=[]
        index_1=[]
        for i in range(0,a-1):
            list_2.append(list_1[i+1]-list_1[i])
        b=len(list_2)
        if list_2[0]<0:
            index_1.append(0)
        for i in range(0,b-1):
            if list_2[i+1]<0:
                if list_2[i]>0:
                    index_1.append(i+1)
                elif list_2[i]==0:
                    if seekopp(list_2,i):
                        index_1.append(i+1)
                else:
                    continue 
            else:
                continue 
        list_3=[]
        for i in index_1:
            list_3.append(list_1[i])
        return list_3

if __name__ == "__main__":

    num_2=[1,5,1,12,3,22,22,1]
    print(local_maximum(num_2))
    

结果如下: 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/796203.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存