random.randint()与numpy.random.randint()的区别

random.randint()

import random
for n in range(5):
    for i in range(10):
        print(random.randint(1,5),end=' ')
    print()
#运行结果
1 5 5 3 3 1 3 1 5 2 
4 4 4 4 4 4 3 1 5 2 
3 2 3 1 1 5 5 1 4 3 
3 4 4 2 5 5 3 4 4 4 
3 5 4 5 4 5 4 5 2 4 
Process finished with exit code 0

numpy.random.randint()

import numpy as np
for n in range(5):
    for i in range(10):
        print(np.random.randint(1, 5), end=' ')
    print()

#运行结果
2 4 1 1 1 1 2 2 2 4 
3 4 3 2 3 4 3 2 2 4 
2 2 1 2 1 1 3 3 3 4 
4 1 4 2 4 1 3 4 3 2 
2 3 3 2 3 4 4 3 4 4 
Process finished with exit code 0

对比之后的区别:
random.randint()方法里面的取值区间是前闭后闭区间,而np.random.randint()方法的取值区间是前闭后开区间
细节分析:

random.randint(a,b[,c])
#用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。c是步幅。
例如:
1)print(random.randint(12, 20))  #生成的随机数n: 12 <= n <= 20
2)print(random.randint(20, 20))  #结果永远是20
3)print(random.randint(20, 10))  #该语句是错误的。因为下限必须小于上限。
randint.randrange()函数在随机是不包括上限数的。

numpy.random.randint(low, high=None, size=None, dtype='l')
函数的作用是,返回一个随机整型数,范围从低(包括)到高(不包括),即[low, high)。如果没有写参数high的值,则返回[0,low)的值。
#这个方法产生离散均匀分布的整数,这些整数大于等于low,小于high。
low : int        #产生随机数的最小值
high : int, optional    #给随机数设置个上限,即产生的随机数必须小于high
size : int or tuple of ints, optional    #整数,生成随机元素的个数或者元组,数组的行和列
dtype : dtype, optional    #期望结果的类型
>>>import numpy as np
>>>np.random.randint(1,5)
2
>>>np.random.randint(1,5,size=5)
array([1,1,4,1,4])
>>>np.random.randint(1,5,size=10)
array([2,2,3,4,4,4,3,2,2,1,3])
>>>np.random.randint(4,5,size=5)
array([4,4,4,4,4])
>>>np.random.randint(1,5,size(2,3))
array([[4,3,1],
      [1,2,1]])
>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
       [3, 2, 2, 0]])
>>>np.random.randint(2, high=10, size=(2,3))
array([[6, 8, 7],
       [2, 5, 2]])
  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值