Python里使用sample从range生成的一定范围的随机数里选出几个数,和通过for循环使用randint生成随机数有什么区别?种子固定时这两者生成的数值不一样,那应该选择哪一种?
#使用range生成
import random as r
ls = range(1,11)
for i in r.sample(ls,4):
print(i)
#使用randint生成
for i in range(4):
print(r.randint(1,10))
Python里使用sample从range生成的一定范围的随机数里选出几个数,和通过for循环使用randint生成随机数有什么区别?种子固定时这两者生成的数值不一样,那应该选择哪一种?
#使用range生成
import random as r
ls = range(1,11)
for i in r.sample(ls,4):
print(i)
#使用randint生成
for i in range(4):
print(r.randint(1,10))
关注引用 皆我百晓生 小程序回复内容作答:
range是一个生成器函数,它生成一系列连续的数字,而randint是随机生成一个给定范围内的整数。
使用range生成的随机数,是从给定范围内按照顺序选出指定数量的数。而使用randint生成的随机数,是完全随机的,可以重复。
当种子固定时,这两种生成的数值都是确定的,但是它们生成的规则不同。使用range和sample生成的随机数是按照给定范围内的顺序选取指定数量的数,而使用randint生成的随机数是完全随机的。
选择哪一种方法取决于具体的需求。如果需要按照给定范围内的顺序选取随机数,可以使用range和sample的组合。如果需要完全随机的数值,可以使用randint。