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大的元素的主要内容,如果未能解决你的问题,请参考以下文章

python中任意输入10个正整数,找出其中的素数,并将这些素数按由小到大排序怎么做?

python随机生成100内的10个整数?

python 怎么从集合中随机数

python怎么随机取列表的值

python 生成包含100个两位数随机整数的元组

python随机生成一个4位整数,求各个数位上的数字之和