因此,我需要使用递归在整数列表中找到第二个最小的数字,但是我一生都无法想出办法。我可以使用以下方法找到最小的数字:
def smallest(int_list): if(len(int_list) == 1): return int_list[0] else: a = smallest(int_list[1:]) b = int_list[0] if(a <= b): return a else: return b
谁能指出我正确的方向?
这是一个不使用min()或的简短实现sorted()。当列表中有重复值时,它也适用。
min()
sorted()
def ss(e): if len(e)==2 and e[0]<=e[1]:return e[1] return ss(e[:-1]) if e[0]<=e[-1]>=e[1] else ss([e[-1]]+e[:-1]) print("The selected value was:", ss([5, 4, 3, 2, 1]))