Python3 生成一个随即列表

Python019

Python3 生成一个随即列表,第1张

Python 生成一个随即列表

      -1.最原始的方法--循环

import random #随机数的库

l = [] # 先定义一个空列表

for i in range(1,100):

        x = random.randint(1,100) # 选取数字的范围是1--100 ,且为int

        l.append(x)

print(l)

-2.

l = [random.randint(0,100000) for i in range(1000)]  #

print(l)

3.

l = [random.randrange(1000) for i in range(1000)]

print(l)

4.

#生成不可重复的随机数。

l = random.sample([i for i in range(10000)],100)

print(l)

PYTHON中的伪随机数发生器用的是梅森旋转算法

梅森旋转算法(Mersenne twister)是一个伪随机数发生算法。由松本真和西村拓士在1997年开发,基于有限二进制字段上的矩阵线性递归。可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。

梅森旋转算法是R、Python、Ruby、IDL、Free Pascal、PHP、Maple、Matlab、GNU多重精度运算库和GSL的默认伪随机数产生器。从C++11开始,C++也可以使用这种算法。

整个算法主要分为三个阶段:获得基础的梅森旋转链;对于旋转链进行旋转算法;对于旋转算法所得的结果进行处理。

算法实现的过程中,参数的选取取决于梅森素数,故此得名。

梅森素数由梅森数而来。所谓梅森数,是指形如2↑p-1的一类数,其中指数p是素数,常记为Mp 。如果梅森数是素数,就称为梅森素数。

例如4-1=3,8-1=7,16-1=15(不是素数),32-1=31,64-1=63(不是素数)等等。