python使用Random随机生成列表的方法实例
作者:王大兴的王兴 发布时间:2021-08-12 12:08:54
标签:python,random,随机数
引言:
闲来想到冒泡排序中的列表数据的排序,就想试试用随机数生成一个列表来排序试试,于是做了一下实验,本人实在是属于入门阶段,研究了一下终究还是完成了
1.在python中用random生成一个列表。
(0,1000)指列表中的数取值范围0~1000之间,list列表数的lenth=10。
import random
list=[random.randint(0,1000)for i in range(10)]
print(list)
输出结果如图:
但是这种方法取值是可以重复的,
import random
list=[random.randint(0,10)for i in range(10)]
print(list)
2.翻了一些资料找到了取值不重复的写法
range(10)是取值范围,后面的值是lenth长度
import random
list=random.sample([i for i in range(0,10)],10)
print(list)
输出如下:
3.下面用冒泡排序来实验一下效果
升序的写法:
import random#导入随机数的包
list=random.sample([i for i in range(0,10)],10)#确定随机取值的范围和列表l的长度
print(list)
#获取列表的长度
n=len(list)
#冒泡排序
#外循环每次循环就会两两比较选出最大的数放在右边,所以是实际比较的个数是n-1(比如1,2,3)三个数比较只会比较2次,外循环控制循环多少趟
for x in range(0,n-1):
# 内循环控制每趟循环的次数,每趟循环就会两两比较选出最大的数放在右边,选出的数(x)不计入次数,且每次比较都会(n-1次),所以是长度n-x-1
for y in range(0,n-1-x):
#如果左边的数大于右边的数就会交换位置,用到赋值交换
if list[y]>list[y+1]:
be=list[y]
list[y]=list[y+1]
list[y+1]=be
print(list)
输出结果:
下面我换换print输出的位置我们就可以看见比较的过程
import random
list=random.sample([i for i in range(0,10)],10)
print(list)
n=len(list)
for x in range(0,n-1):
for y in range(0,n-1-x):
if list[y]>list[y+1]:
be=list[y]
list[y]=list[y+1]
list[y+1]=be
print(list)
输出结果:
降序的写法
import random#导入随机数的包
list=random.sample([i for i in range(0,10)],10)#确定随机取值的范围和列表l的长度
print(list)
#获取列表的长度
n=len(list)
#冒泡排序
#外循环每次循环就会两两比较选出最大的数放在右边,所以是实际比较的个数是n-1(比如1,2,3)三个数比较只会比较2次
for x in range(0,n-1):
# 内循环控制每趟循环的次数,每趟循环就会两两比较选出最大的数放在右边,选出的数(x)不计入次数,且每次比较都会(n-1次),所以是长度n-x-1
for y in range(0,n-1-x):
#如果左边的数大于右边的数就会交换位置,用到赋值交换
if list[y]<list[y+1]:
be=list[y]
list[y]=list[y+1]
list[y+1]=be
print(list)
输出结果:
附:一行代码实现生成一个随机列表
主要用随机数模块和推导式:
import random
exit([random.randint(1,100) for i in range(10) ])
事实上,exit是抛出异常然后退出,后面无法对列表进行操作,正常情况我们还是这样写,这样打印出来的还是会出现重复的数:
import random
print([random.randint(1,100) for i in range(10) ])
但是python太强大了,有专门的函数生成这种列表,还不带重复的:
import random
print(random.sample(range(1,100),10))
来源:https://blog.csdn.net/wang3289696/article/details/112966566
0
投稿
猜你喜欢
- 以前的Sony Ericsson牌DVD影碟机坏掉了,上周到沃尔玛买了个philips的回来,于是又淘了一些DVD回来看。在使用遥控的时候忽
- Django 分页功能的实现,供大家参考,具体内容如下创建项目创建APP,添加APP这些就不在多说我们这次重点来看到视图函数下面是路由设置视
- 本文所述实例可以实现基于Python的查看图片报纸《参考消息》并将当天的图片报纸自动下载到本地供查看的功能,具体实现代码如下:# codin
- 本文实例讲述了smarty简单分页的实现方法,分享给大家供大家参考。具体实现方法如下:以下是模板中的smarty代码,用smarty简单的代
- 有时候我们在设计表单的时候不希望用户输入其它字符,只想他在input中输入数字,那么我们就可以使用下面的代码,当然这个比较是客户
- 本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法。分享给大家供大家参考,具体如下:一 介绍关键词:绘图库官网:ht
- Go对字符串格式化提供了良好的支持。下面我们看些常用的字符串格式化的例子。package mainimport "fmt"
- 一、元素偏移量 offset 系列offset 翻译过来就是偏移量, 我们使用 offset 系列相关属性可以动态的得到该元素的位置(偏移)
- 影响的范围: IE的所有版本在表单的radio/checkbox控件中,一旦他们的DOM结构被更改过就会出现这个bug。bug描述当象下例中
- 说到排序,我想起一个故事,大意是说唐僧师徒西游美利坚,孙悟空买了本词典,开始逐条背诵单词。他们第一次下美国馆子的时候,不管服务员推荐什么,孙
- 人生苦短,快学Python!上一周发了一篇文章《Python Tkinter图形工具使用方法及实例解析》,很多小伙伴都希望能多出点教程,今天
- 我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入查询条件时,如用普通方法将更是难上加难。以下巧
- 1、终极方法:条件注释<!--[if lte IE 6]> 这段文字仅显示在 IE6及IE6以下版本。 <![endif]
- 01_msgbox# 使用easygui功能,可以直接导入easygui模块import easygui# 需要弹框时,要使用easygui
- 提叻一个代码段,要人帮助解释一下。代码如下:declare type t_indexby is ta
- 在开发中有些敏感接口,例如用户余额提现接口,需要考虑在并 * 况下接口是否会发生问题。如果用户将自己的多条提现请求同时发送到服务器,代码能否扛
- 本文实例讲述了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法。分享给大家供大家参考。具体如下:# Standa
- 在我们生活中的一些场合经常会有一些不该出现的敏感词,我们通常会使用*去屏蔽它,例如:尼玛 -> **,一些骂人的敏感词和一些政治敏感词
- 今天有业务需要制作用户头像的需求,在网上找了个可以裁剪大图制作自己希望大小的图片的方法(基于Struts2)。特此记录一下。不废话,具体的步
- 在http规则中用404来表示某个页面不能访问,一般来说,网站的404错误页面都是IIS或APACHE默认的页面,千篇一律,非常单调。由于可