python获得列表中第二大的元素值

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

 第一种方法:仅需使用sort()pop()来实现

list26 = [ 1, 13, 5, 6, 11, 12, 7, 8, 13]
list26.sort()                                        # 先对列表元素按从小到大进行排序
count = list26.count(list26[len(list26) - 1] )       # list26[ len(list26) - 1 ]获得列表中最大元素的下标值,count(……)获得最大元素在列表中出现的次数
c = 0
while c < count:                                     # 使用while循环通过最大值出现的次数决定循环次数
    list26.pop()                                     # 使用pop()默认删除列表最后的元素,即最大元素,删除次数取决于循环次数即count()的值
    c += 1
print(list26[len(list26) - 1])                       # 打印列表最后一个元素,即未删除最大元素之前的第二大值

第二种方法: 仅使用 if 判断和 while 循环

list27 = [ ]
num1 = 0
while num1 < 5:
    val1 = int(input("请输入五个数字存入列表:  "))
    list27.append(val1)
    num1 += 1
print("接下来将选出你所输入数字的第二大值:")
max = 0
sec = 0
if list27[0] > list27[1]:
    max = list27[0]
    sec = list27[1]
else:
    max = list27[1]
    sec = list27[0]
index = 2
while index < len(list27):
    if list27[index] > max:
        sec = max
        max = list27[index]
    index += 1

print(sec)

猜你喜欢

转载自blog.csdn.net/qq_42103479/article/details/95064136