如何在Python中生成0到9(含)之间的随机整数?
例如,0
,1
,2
,3
,4
,5
,6
,7
,8
,9
尝试:
from random import randrange
print(randrange(10))
更多信息:http://docs.python.org/library/random.html#random.randrange
[尽管许多文章演示了如何获取one
我会尝试以下之一:
1.> random.choice
import numpy as np X1 = np.random.randint(low=0, high=10, size=(15,)) print (X1) >>> array([3, 0, 9, 0, 5, 7, 6, 9, 6, 7, 9, 6, 6, 9, 8])
要获取十个样本的列表:
numpy.random.uniform
生成0到9之间的随机整数。
import numpy as np X2 = np.random.uniform(low=0, high=10, size=(15,)).astype(int) print (X2) >>> array([8, 3, 6, 9, 1, 0, 3, 6, 3, 3, 1, 2, 4, 0, 4])
输出:
random.randrange
from random import randrange
X3 = [randrange(10) for i in range(15)]
print (X3)
>>> [2, 1, 4, 1, 2, 8, 8, 6, 4, 1, 0, 5, 8, 3, 5]
是可以使用的另一个]
random.randint
最好的方法是使用导入随机函数
更多是一种数学方法,但100%的时间有效:
假设您要使用random.randrange(stop)函数来生成random.randint(a, b)和astype(int)之间的数字。为此,只需执行以下操作:
>>> import random
>>> random.randrange(10)
3
>>> random.randrange(10)
1
当然,您可以生成更多数字。
从>>> [random.randrange(10) for x in range(10)]
[9, 0, 4, 0, 5, 7, 4, 3, 6, 8]
模块的文档页面:
警告:此模块的伪随机数生成器不应为用于安全目的。如果您使用os.urandom()或SystemRandom需要加密安全的伪随机数生成器。
import numpy X = numpy.random.randint(0, 10, size=10) print(X)
,在Python 2.4中引入,被认为是[4 8 0 4 9 6 9 9 0 7]
。在编写本文时,它在Python 3.7.1中仍然可用。
对于Python 3.6,我比较幸运,>
n={} for i in range(10): n[i]=i for p in range(10): print(n.popitem()[1])
只需添加字符,例如'ABCD'和'abcd'或'^!〜=->
import random
print(random.randint(0,9))
random.randint(a, b)
返回一个随机整数N,使a <= N <= b。
文档:https://docs.python.org/3.1/library/random.html#random.randint
尝试一下:
from random import randrange, uniform
# randrange gives you an integral value
irand = randrange(0, 10)
# uniform gives you a floating-point value
frand = uniform(0, 10)
from random import randint
x = [randint(0, 9) for p in range(0, 10)]
这将生成10个伪随机整数,范围在0到9之间(含0和9)。>
secrets
模块是Python 3.6中的新增功能。这比secrets
模块在密码学或安全性方面要好。
通过from secrets import randbelow
print(randbelow(10))
尝试此操作
选择数组的大小(在此示例中,我选择的大小为20)。然后,使用以下命令:
在连续数字的情况下,import numpy as np
np.random.randint(10, size=(1, 20))
或array([[1, 6, 1, 2, 8, 6, 3, 3, 2, 5, 6, 5, 0, 9, 5, 6, 4, 5, 9, 3]])
可能是最佳选择,但如果序列中有多个不同的值(即randint
),则也可以使用randint
:
如果要使用numpy,请使用以下代码: