方法集锦4_列表_python
1.循环一次,求出列表的最小值和次小值出来
##求出最小值和次小值 dic = [33,5,7,21,7,9] #初始化,a为最小,b为次小 a,b = max(dic),max(dic) ''' 大致思路: 1.首先初始化a和b,如果当前i比a更小,则b次小值 = a,a = i (此时i当做最小值,一直被替换)。注意:最小值在最后面,则if 这里就定义好了最小值和次小值,不走elif 2.如果最小值在前面出现,则a赋值最小值,后面不会出现小于a的值了,则走elif,如果小于,则b被替换。 ''' #O(n)时间复杂度,求出最小和次小 for i in dic: if i < a: b = a a = i elif i < b: b = i print(a,b)
执行结果: