python:向列表中添加10个随机整数,找出其中第2大的元素
Posted 学python的蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:向列表中添加10个随机整数,找出其中第2大的元素相关的知识,希望对你有一定的参考价值。
思路:用两个变量first和scend分别存储列表中最大的数和第二大的数(初始值默认为列表第一个数和第二数)。利用for循环遍历整个列表(除开前两个元素,因为已经被first和scend取走了),从第三个元素开始取,先后和scend和first比较,通过判断大小不断更新first的值和scend的值:
若列表中取出的数比first和scend都大,则将first赋值给scend,将该元素赋值个first;
若列表中取出的数比scend大,比first小,则将该元素赋值给scend;
否则first和scend不变。
最后输出scend即可。
代码如下:
#导入随机生成模块
import random
#建立一个空列表,用于存储元素
nums = []
#for循环随机添加0~1000之间的10个整数
for _ in range(10):
nums.append(random.randrange(1000))
#用于获取列表中最大的数和第二大的数
first = nums[0]
scend = nums[1]
if first < scend:
t = first
first = scend
scend = t
print('原数组:',nums)
for i in range(len(nums)):
if i == len(nums) - 1:
break
if nums[i + 1] > scend:
if nums[i + 1] > first:
scend = first
first = nums[i + 1]
else:
scend = nums[i + 1]
print('最大的两个数',first, scend)
结果如图(因为是随机生成的数组,所以每次元素都不一样):
当然也可以使用list的内置函数sort()排序:
#导入随机生成模块
import random
#建立一个空列表,用于存储元素
nums = []
#for循环随机添加0~1000之间的10个整数
for _ in range(10):
nums.append(random.randrange(1000))
#使用sort对列表进行排序,True代表降序, False代表升序
nums.sort(reverse=True)
print('使用内置函数排序',nums)
print('排序后输出第二个元素',nums[1])
结果如下:
是不是比前者方便很多
以上是关于python:向列表中添加10个随机整数,找出其中第2大的元素的主要内容,如果未能解决你的问题,请参考以下文章