random.randint()与np.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。
low : int        #产生随机数的最小值
high : int, optional    #给随机数设置个上限,即产生的随机数必须小于high
size : int or tuple of ints, optional    #整数,生成随机元素的个数或者元组,数组的行和列
dtype : dtype, optional    #期望结果的类型

 

 

posted @   tooltime  阅读(1125)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示