怎样找第二大的数,python
发布网友
发布时间:2022-05-05 18:16
我来回答
共3个回答
热心网友
时间:2022-04-18 10:00
比如说:num_list = [98,12,45,1,2,32,90,45,23,121,11]
直接排序,输出倒数第二个数即可。
num_list = [98,12,45,1,2,32,90,45,23,121,11]
tmp_list = sorted(num_list)
print('第二大的数是:',tmp_list[-2])
扩展资料:
# 最基础的遍历无序列表的查找算法
# 时间复杂度O(n)
def sequential_search(lis, key):
length = len(lis)
for i in range(length):
if lis[i] == key:
return i
else:
return False
if __name__ == '__main__':
LIST = [1, 5, 8, 123, 22, 54, 7, 99, 300, 222]
result = sequential_search(LIST, 123)
print(result)
热心网友
时间:2022-04-18 11:18
# 方法一,直接排序然后取倒数第个元素
sorted(num_list)[-2]
# 方法二,用标准库中堆模块中的nlargest方法
>>> import heapq
>>> num_list = [10,1,2,3,4,5,6,7,8,9,0]
>>> heapq.nlargest(2, num_list)
[10, 9]
>>>
# 方法三,如果不准用内置方法,自己写个算法。
def second_large(num_list):
"""find second largest num in a list.
>>> second_large([1,2,0])
1
>>> second_large([1,2,3,0])
2
>>> second_large([1,3,2,0])
2
>>> second_large([10,1,2,3,4,5,6,7,8,9,0])
9
>>> second_large([1,9,2,3,4,5,6,7,8,10,0])
9"""
iterator = iter(num_list)
largest, second = 0, 0
while True:
num = next(iterator)
if num == 0:
break
elif num > largest:
largest, second = num, largest
elif num > second:
largest, second = largest, num
return second
if __name__ == '__main__':
import doctest
doctest.testmod()
热心网友
时间:2022-04-18 12:53
先排序,在取第2个数
怎样找第二大的数,python
比如说:num_list = [98,12,45,1,2,32,90,45,23,121,11]直接排序,输出倒数第二个数即可。num_list = [98,12,45,1,2,32,90,45,23,121,11]tmp_list = sorted(num_list)print('第二大的数是:',tmp_list[-2])
python 在随机数列中找第二大和第二小的数字
10, -7, -4, 9, -1, 5, 6, 9, 3]>>> list=sorted(list)>>> list[-7, -4, -1, 3, 3, 5, 6, 9, 9, 10]>>> 升序排序完成之后 第二小的肯定就是 list[1]而第二大的就是 list[length-2]
python 用递归寻找list中第二大的数字
基本思想是先找到最大的两个元素,而不只是次大元素 基础情况:长度为2列表的最大两个元素,长度为3列表的最大的两个元素 递归情况:长度为n的列表的最大的两个元素为前n-1项最大的两个元素与最后一个元素,这三个元素中最大的两个元素 def large2(l): if len(l) == 2: if l[0...
怎么用python编程 输入十个不同的数字,输出其中最大的数和第二大...
终端运行 python3 test.py 1.1 2 3 4 5 6 7 8 9 10.5#输出#max: 10.5#second: 9.0#将以下写入文本 test.pyimport sysinput = [float(i) for i in sys.argv[1:]] #可以在这直接写多个数input.sort(reverse=True)print("max:",input[0])print("second:",input[1])...
Python 中在input()里读取第二大的数字
def myinput(count): try: x = input("[input the interge]:") x_int = int(x) x_f = float(x) except: print("`"+x+"` is not a >=0 interge!Input again") myinput(count) #raise ValueError("`"+x+"` is not a number!") else: if x_int...
python如何找最大最小数?
以下是一个Python程序,可以输入10个数,找到其中的最大值并输出它是第几个数:python复制代码 nums = []max_num = 0 for i in range(10):num = int(input("请输入第{}个数:".format(i+1)))nums.append(num)if num > max_num:max_num = num print("最大值为:{},它是第{}个...
输入10个数,取出大二大的数的python 简单程序
大二大?第二大?list=[]for i in range(0,10): a= input("请输入第{}个数:".format(i+1)) list.append(a)list.sort(reverse=True)print("第二大的数为:" + list[1])输入10次,每次输入完回车。
Python 随机产生[0,100]以内的随机数,找到最大值和最小值并交换位置_百...
过程如图所示:获取1~100以内的随机数有两种方法:方法1:可以通过Math类中的random方法获取随机数,再乘以100加1,然后转换为int类型即可。方法2:可以通过Random类中的nextInt方法获取随机数。
Python 代码 输入十个数,输出最大的数和次大的数
test接受随便输入的十个数用sorted方法,将test从小到大排序并赋值给一个临时变量temp用索引值访问倒数第一个和倒数第二个则是最大的数和次大的数
Python编写程序,实现输入n个整数,输出最大的,并指出是第几个数?
a=list(eval(input(“请输入n个整数”)))b=max(a)c=len(a)for i in range(1,c+1):if a[i-1]==b:print("最大的数是%d,是第%d个数"%(b,i))