
python中没有你所期望的那种直接搞定的函数,都要自己改造一下的,你现在用的randomrandint(1,10)这种方法没什么问题,而且并不算笨方法,代码效率也不算低。
还有一种方法是利用random中的choice函数,randomchoice的功能是从序列中获取一个随机元素,编程思想是将要随机输出的元素按不同个数添加到一个列表中,然后利用randomchoice,从中随机选取一个。
=====================================================
代码如:
def randomchice(a,b,c,d,fa,fb,fc,fd):
import random
tl=[]
for i in range(0,fa):tlappend(a)
for i in range(0,fb):tlappend(b)
for i in range(0,fc):tlappend(c)
for i in range(0,fd):tlappend(d)
return randomchoice(tl)
使用时只需输入如:
print randomchice('zhangsan','lisi','wangwu','zhouqi',50,20,25,5,)
=====================================================
python所追求的不是速度效率而是代码效率,用python写的代码够简洁清晰就行,如果要求速度的话,那可以嵌入c语言,那样效率比python高至少100倍。
希望对你有所帮助。
有个近似方法,用randint(),因为randint()是闭区间
LARGE_INT = 1000000
myrandom = randint(0, LARGE_INT)10/LARGE_INT
python随机选取n个不同的数字的方法:
1、使用“import random”导入random包
2、通过for语句循环执行n次“randomrandint()”语句获取n个随机数并将随机数输入到列表中
n=10示例如下:
3、用set函数去重就可以了
完整代码:
更多Python知识,请关注:Python自学网!!
举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数
import randomiRandom = [] #定义随机数列表
listRandom = list(range(1,61)) #生成整数型1-60的列表组合
randomshuffle(listRandom) #打乱列表顺序
iRandom = listRandom[0:10] #截取打乱后的前10个值,赋值给新列表iRandom
print('随机列表组合:',iRandom)
在8000到2000之间产生10个随机数,用到random包。
randomrandom()用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成随机数。
n <= b。如果 a <b, 则 b <= n <= a。用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,Python生成随机数。
扩展资料:
注意事项:
1、range (10000000)后,内存不释放的原因:python对整数对象做了缓存,新创建出来的整数对象的内存不会被释放,而是留着以后再次创建整数对象时继续使用。这样可以减少new *** 作,提高效率。
2、局部变量的访问速度,比全局变量、内建变量都要快,如果函数中,需要频繁使用某个全局变量或内建函数时,那么可以考虑先将这个全局变量或内建函数赋值给一个局部变量,后面代码直接访问这个局部变量、
3、虽然python是动态语言,但是在执行python代码前,也有编译的过程。平时看到的pyc文件就是python编译后的结果。
参考资料来源:百度百科-Python
答:
Python当中的random函数,生成一个在[0,1)范围之内的浮点数; Python当中的随机数模块都属于random模块,其中还有很多其他类型的随机数函数。比如randint,uniform等,在如下的代码当中给出了注释;最后两次运行结果如下所示。以上就是关于python如何有比重的随机取值 (要求代码简单高效)全部的内容,包括:python如何有比重的随机取值 (要求代码简单高效)、在python中,如何快速获得闭区间【0,1】的随机数。、python如何随机选取n个不同的数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)