永发信息网

python 用recursion 找出一个list里面第二小的整数

答案:1  悬赏:80  手机版
解决时间 2021-02-05 23:07
用recursion的方法 不能用min() 和sort()

比如【1,2,3,4,5】 return出来的就是2
比如【1,1,3,4,5】 return出来的就是1
一个list里面至少有两个element 且这个list里面全部都是int
我写的是:
def second_small(X):
if len(X) == 2:
return X[0] if X[0] >= X[1] else X[1]
else:
sec_least = second_small(X[1:])
return sec_least if sec_least >= X[0] else X[1]
else后面return出来的不对

也不能用print
最佳答案
def _min2(a, b):
    return a if a < b else b


def second_small(l):
    if len(l) == 0:
        return None
    elif len(l) == 1:
        return l[0]
    elif len(l)==2:
        return _min2(l[0], l[1])
    else:
        return _min2(l[0], second_small(l[1:]))
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
武当魅力武馆地址好找么,我有些事要过去
榖皮的意思是什么啊?知道的请说下!
三社电器在什么地方啊,我要过去处理事情
这是什么软件?f开头的,苹果的一个app,能制
郴州市北湖区民政局地址在哪,我要去那里办事
CAD中怎么画出36度角, 长18的线段
奥风击剑馆地址有知道的么?有点事想过去
坦克世界,德系vk3601h vk3601p哪个好用
沾化小吃在什么地方啊,我要过去处理事情
分愿的意思是什么啊?知道的请说下!
谢meta分析必须和cochrane系统评价组连续吗
ios swift用什么编译器
我想问一下,我的车子换了发动机整个,原来的
如图,△ABC是边长为4的等边三角形,△ABC是顶
普乐士运动训练中心地址有知道的么?有点事想
推荐资讯
新英朗高配车型的原装氙气灯是什么牌子
浮梁众安驾驶员培训中心地址在什么地方,想过
母乳能储存多长时间的
环氧砂浆平涂地坪和环氧地坪漆的区别是什么
二氧化碳能使紫色的石蕊试液变红色的直接原因
我以日始出时去人近 去古义 今义什么意思
大马灯具洁具地址在什么地方,想过去办事
麻烦找找步步惊心中以四爷与若曦为感情主线的
艺鸣音乐地址在什么地方,想过去办事
看不起的意思是什么啊?知道的请说下!
忠烈祠地址在什么地方,想过去办事
一部手机 前面黑色加白色 背后白色 底部和顶
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?