随机数random

import random
import numpy as np
 
In [2]:
nd=np.arange(10)
str=list('astrcdefghij')
print("nd:",nd)
print("str:",str)

Out[2]:

nd: [0 1 2 3 4 5 6 7 8 9]
str: ['a', 's', 't', 'r', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

In [3]:
#从已知序列中随机取一个元素 s=random.choice(str) print("s:",s)

Out[3]:

s: j

In 4]:
#打乱从已知序列中元素顺序
random.shuffle(nd)
print("nd:",nd)
random.shuffle(str)
print("str:",str)

Out[4]:

nd: [6 2 8 1 4 9 3 7 0 5]

str: ['r', 't', 'h', 's', 'i', 'g', 'j', 'c', 'e', 'f', 'a', 'd']

In [5]:
#从已知序列中随机取固定数量的元素
nd=random.sample(list(nd),5)
print("nd:",nd)
str=random.sample(str,5)
print("str:",str)

Out[5]:

nd: [7, 5, 2, 4, 3]

str: ['d', 's', 'a', 'e', 'c']

In [6]:
#从已知序列中随机取5个元素合成一个字符串
str=''.join(random.sample(str,5))
print("str:",str)

Out[6]:

str: asedc

In [7]:
#生成1个元素在(0,1)之间的随机浮点数
a=random.random()
print("a:",a)
a=np.random.rand()
print("a:",a)
nd=np.random.rand(3,4)
print("nd:",nd)

Out[7]:

a: 0.8010321290923665

a: 0.5754016498568159

nd: [[0.11220787 0.05414973 0.13550454 0.56050772]

  [0.56411102 0.71001862 0.91481863 0.41402596]

  [0.39312503 0.64835602 0.43019934 0.59760637]]

In [8]:
#生成1个元素在(0,1)之间的随机浮点数
a=random.uniform(1,10)
print("a:",a)
#生成1个元素在[0,10)之间的随机整数
a=random.randint(0,10)
print("a:",a)
#生成1个元素在[0,10)之间的2*4的随机矩阵
nd=np.random.randint(0,10,(2,4))
print("nd:",nd)

Out[8]:

a: 6.929493104692415

a: 5

nd: [[5 7 3 5]

  [7 6 5 6]]

In [9]:
#生成1个元素在[0,101)之间的偶数
random.randrange(0,101,2)

Out[9]:

96

要使每次生成的随机数固定则要在每次生成随机数之前设置随机数种子seed值,如:

In [10]:
nd=np.arange(10)
random.seed(0)
random.shuffle(nd)
print("nd:",nd)
nd=np.arange(10)
random.seed(0)
random.shuffle(nd)
print("nd:",nd)

Out[10]:

nd: [7 8 1 5 3 4 2 0 9 6]
nd: [7 8 1 5 3 4 2 0 9 6]

In [11]
np.random.seed(0)
nd=np.random.rand(5)
print("nd:",nd)
np.random.seed(0)
nd=np.random.rand(5)
print("nd:",nd)

Out[10]:

nd: [0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]
nd: [0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]

 

上一篇:第一次线性回归的训练


下一篇:用sed删除文件中指定行