Python中random函数的用法整理大全

首先我们需要导入random模块

1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间

import random
print(random.random())

2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间

import random
print(random.uniform(1,5))

3. random.randint(a,b)生成指定范围内的整数 

import random
print(random.randint(1,10))

4. random.randrange([start],stop[,step]):用于从指定范围内按指定基数递增的集合中获取一个随机数。 

例如random.randrange(10,100,2),结果相当于从 [10,12,14,16...96,98] 序列中获取一个随机数。random.randrange (10,100,2) 的结果上与 random.choice(range(10,100,2)) 等效。

import random
print(random.randrange(10,22,3))

5. random.choice():从指定的序列中获取一个随机元素

random.choice()从序列中获取一个随机元素,其原型为random.choice(sequence),参数sequence表示一个有序类型。这里说明一下,sequence在Python中不是一种特定的类型,而是泛指序列数据结构列表,元组,字符串都属于sequence

import random
print(random.choice('学习python'))   # 从字符串中随机取一个字符
print(random.choice(['good', 'hello', 'is', 'hi', 'boy']))   # 从list列表中随机取
print(random.choice(('str', 'tuple', 'list')))   # 从tuple元组中随机取

6. random.shuffle(x[,random]):用于将一个列表中的元素打乱,随机排序

import random
p=['hehe','xixi','heihei','haha','zhizhi','lala','momo..da']
random.shuffle(p)
print(p)
x = [1, 2, 3, 4, 5]
random.shuffle(x)
print(x)

7. random.sample(sequence,k):用于从指定序列中随机获取指定长度的片段,sample()函数不会修改原有序列。

import random
list1=[1,2,3,4,5,6,7,8,9,10]
slice=random.sample(list1,5)
print(slice)
#[8, 3, 5, 9, 10]
print(list1)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x = random.sample(range(0, 10), 5)
print(x, type(x))
#[9, 2, 7, 8, 6] <class 'list'>
Words = "AppleKMedoide"
print(random.sample(Words, 3))
#['p', 'M', 'A']
print(random.sample(Words, 3))
#['d', 'i', 'l']

下面的函数需要调用numpy库

8. np.random.rand(d0, d1, …, dn): 返回一个或一组浮点数,范围在[0, 1)之间

import random
import numpy as np
x = np.random.rand()
y = np.random.rand(4)
print(x,type(x))
#0.09842641570445387 <class 'float'>
print(y,type(y))
#[0.27298291 0.12350038 0.63977128 0.90791234] <class 'numpy.ndarray'>

9. np.random.normal(loc=a, scale=b, size=()): 返回满足条件为均值=a, 标准差=b的正态分布(高斯分布)的概率密度随机数

np.random.normal(loc=a, scale=b, size=()) - 返回满足条件为均值=a, 标准差=b的正态分布(高斯分布)的概率密度随机数,size默认为None(返回1个随机数),也可以为int或数组

import random
import numpy as np
x = np.random.normal(10,0.2,2)
print(x,type(x))
#[9.78391585 9.83981096] <class 'numpy.ndarray'>
y = np.random.normal(10,0.2)
print(y,type(y))
#9.871187751372984 <class 'float'>
z = np.random.normal(0,0.1,(2,3))
print(z,type(z))
#[[-0.07114831 -0.10258022 -0.12686863]
# [-0.08988384 -0.00647591  0.06990716]] <class 'numpy.ndarray'>
z = np.random.normal(0,0.1,[2,2])
print(z,type(z))
#[[ 0.07178268 -0.00226728]
# [ 0.06585013 -0.04385656]] <class 'numpy.ndarray'>

10 np.random.randn(d0, d1, … dn): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数

np.random.randn(d0, d1, ... dn): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数,

import random
import numpy as np
x = np.random.randn()
y = np.random.randn(3)
z = np.random.randn(3, 3)
print(x, type(x))
print(y, type(y))
print(z, type(z))

11. np.random.standard_normal(size=()): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数

np.random.standard_normal(): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数, size默认为None(返回1个随机数),也可以为int或数组

import random
import numpy as np
x = np.random.standard_normal()
y = np.random.standard_normal(size=(3,3))
print(x, type(x))
print(y, type(y))

np.random.rand()与np.random.standard_normal()的方法结果相似,都是返回合符标准正态分布的随机浮点数或数组。

12. np.random.randint(a, b, size=(), dtype=int): 返回在范围在[a, b)中的随机整数(含有重复值)

np.random.randint(a, b, sizie=(), dytpe=int) - size默认为None(返回1个随机数),也可以为int或数组

import random
import numpy as np
# 从序列[0, 10)之间返回shape=(5,5)的10个随机整数(包含重复值)
x = np.random.randint(0, 10, size=(5, 5))
# 从序列[15, 20)之间返回1个随机整数(size默认为None, 则返回1个随机整数)
y = np.random.randint(15, 20)
print(x, type(x))
print(y, type(y))

13. random.seed(): 设定随机种子

在设定随机种子为10之后,random.random()的随机数将被直接设定为:0.5714025946899135

import random
random.seed(10)
x = random.random()
print(x,type(x))
random.seed(10)
y = random.random()
print(y,type(y))
z = random.random()
print(z,type(z))

random随机数是这样生成的:我们将这套复杂的算法(是叫随机数生成器吧)看成一个黑盒,把我们准备好的种子扔进去,它会返给你两个东西,一个是你想要的随机数,另一个是保证能生成下一个随机数的新的种子,把新的种子放进黑盒,又得到一个新的随机数和一个新的种子,从此在生成随机数的路上越走越远。

我们利用如下代码进行测试:

import numpy as np
if __name__ == '__main__':
    i = 0
    while i < 6:
        if i < 3:
            np.random.seed(0)
            print(np.random.randn(1, 5))
        else:
            print(np.random.randn(1, 5))
        i += 1
    i = 0
    while i < 2:
        print(np.random.randn(1, 5))
        i += 1
    print(np.random.randn(2, 5))
    np.random.seed(0)
    print("###################################")
    i = 0
    while i < 8:
        print(np.random.randn(1,5))
        i += 1

通过该实验我们可以得到以下结论:

  • 两次利用随机数种子后,即便是跳出循环后,生成随机数的结果依然是相同的。第一次跳出while循环后,进入第二个while循环,得到的两个随机数组确实和加了随机数种子不一样。但是,后面的加了随机数种子的,八次循环中的结果和前面的结果是一样的。说明,随机数种子对后面的结果一直有影响。同时,加了随机数种子以后,后面的随机数组都是按一定的顺序生成的。
  • 在同样的随机种子后第六次的随机数生成结果,两行五列的数组和两个一行五列的数组结果相同。说明,在生成多行随机数组时,是由单行随机数组组合而成的。
  • 利用随机数种子,每次生成的随机数相同,就是使后面的随机数按一定的顺序生成。当随机数种子参数为0和1时,生成的随机数和我上面高亮的结果相同。说明该参数指定了一个随机数生成的起始位置。每个参数对应一个位置。并且在该参数确定后,其后面的随机数的生成顺序也就确定了。
  • 随机数种子的参数怎么选择?我认为随意,这个参数只是确定一下随机数的起始位置。

本文综合参考了如下文章整理:

总结

到此这篇关于Python中random函数用法的文章就介绍到这了,更多相关Python random函数用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中随机函数random用法实例

    本文实例讲述了python中随机函数random用法.分享给大家供大家参考.具体如下: python中的random模块功能非常强大,可以生成各种随机值 #! python # random import random print random.choice(['apple', 'pear', 'banana']) #从数组中随机选择一个元素 print random.sample(xrange(100), 10) # sampling without replacement print ran

  • Python随机函数random随机获取数字、字符串、列表等使用详解

    在python中用于生成随机数的模块是random,在使用前需要import, 下面看下它的用法. Python随机生成一个浮点数 random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 注意: 以下代码在Python3.5下测试通过, python2版本可稍加修改 描述 random() 方法返回随机生成的一个实数,它在(0,1)范围内. 语法 以下是 random() 方法的语法: import random random.ra

  • python随机模块random的22种函数(小结)

    前言   随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性.平时数据分析各种分布的数据构造也会用到.   random模块,用于生成伪随机数,之所以称之为伪随机数,是因为真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的.而计算机中的随机函数是按照一定算法模拟产生的,对于正常随机而言,会出现某个事情出现多次的情况.   但是伪随机在事情触发前设定好,就是这个十个事件各发生一次

  • Python之random库的常用函数有哪些

    目录 前言 一 random库介绍 二 基本随机函数 三 扩展随机函数 1. randint() 2. uniform() 3. randrange() 4. choice() 5. shuffle() 6. sample() 四 实例(动态金额值) 总结 前言 在进行接口测试时,有些接口字段在不需要测试的时候往往是被写死的,但是你不能保证它就不会出现问题,所以在平时测试的时候就需要覆盖各种情况,这时候就可以为此专门写一个函数或者类来实现字段动态值了.由于我们组的自动化脚本里面的金额字段是固定的

  • Python中的随机函数random详解

    目录 常规用法 使用案例: 常规用法 用法 作用 random() 返回0<=n<1之间的随机浮点数n random.uniform(a, b) 用于生成一个指定范围内的随机符点数 random.randint(a, b) 用于生成一个指定范围内的整数 random.randrange([start], stop[, step]) 从指定范围内,按指定基数递增的集合中 获取一个随机数 choice(seq) 从序列seq中返回随机的元素 shuffle(seq[, random]) 原地指定s

  • Python随机函数库random的使用方法详解

    前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为广泛,除了生成比较简单的随机数外,还有很多功能.使用random库: import random random库主要函数: 函数名 说明 用法 random() 生成一个0~1之间的随机浮点数,范围 0 <= n < 1.0 random.random() uniform(a,b) 返回a, b之间的随机浮点数,范围[a, b]或[a, b),

  • Python随机函数random()使用方法小结

    1. random.random() random.random()方法返回一个随机数,其在0至1的范围之内,以下是其具体用法: import random print ("随机数: ", random.random()) 输出结果:0.22867521257116 2. random.uniform() random.uniform()是在指定范围内生成随机数,其有两个参数,一个是范围上限,一个是范围下线,具体用法如下: import random print (random.uni

  • python中的随机函数random的用法示例

    一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等. 二.random模块重要函数 1 ).random() 返回0<=n<1之间的随机实数n: 2 ).choice(seq) 从序列seq中返回随机的元素: import random a = random.choice([1, 2, 3, 4]) print(a) 3 ).getrandbits(n) 以长整型形式返回n个随机位: 4 )

  • Python中random函数的用法整理大全

    首先我们需要导入random模块 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间 import random print(random.random()) 2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间 import random print(random.uniform(1,5)) 3. random.randint(a,b):生成指定范围内的整数  import random print(random

  • Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__: class int(object) | int(x[, base]) -> integer | | Convert a string or number to an integer, if possible. A floating point | argument will be truncated

  • Python中 map()函数的用法详解

    map( )函数在算法题目里面经常出现,map( )会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用. 关于映射map,可以把[ ]转成字符串的话,就不需要用循环打印字符串输出结果这种比较旧的方式. 在Python 3中的例子如下: 也可以用匿名函数来计算幂计算: map(lambda x:x**2,[1,2,3,4,5]) 也可以用来规范输出: name_list={'tony','cHarLIE','rachAEl'} def format_name(s): ss=s[0

  • 基于python中__add__函数的用法

    运算符重载 _add ##定义:让自定义的类生成的对象(实例)能够使用运算符进行操作 class Vector01: '''定义一个一维向量''' def init(self,x): self.x = x def str(self): '''定义新生成的返回值是什么,如果没有这个之间返回的是类的特点''' return ('一维向量的分量是:%d' % (self.x)) def add(self, other): #表示print内的+ # print('参数是:',other) return

  • python中count函数简单用法

    python中count函数的用法 Python count()方法 描述 Python count() 方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. count()方法语法: str.count(sub, start= 0,end=len(string)) 参数 sub -- 搜索的子字符串 start -- 字符串开始搜索的位置.默认为第一个字符,第一个字符索引值为0. end -- 字符串中结束搜索的位置.字符中第一个字符的索引为 0.默认为字符串的最后

  • python中similarity函数实例用法

    1.similarity函数接收两个列表,并返回由两个列表中相同元素组成的列表. 2.函数使用列表推导,遍历所有a列表中的元素,并使用in关键词来判断这些元素是否存在于b列表中. 实例 def similarity(a, b): return [item for item in a if item in b] # EXAMPLES similarity([1, 2, 3], [1, 2, 4]) # [1, 2] 知识点扩充: python 语义similarity_Python:string的

  • Python中print()函数的用法详情

    Python中print()函数的方法是打印指定的内容.在交互环境中输入“help(print)”指令,可以显示print()函数的使用方法, 如图1所示: 图1 print()函数的使用方法 1 常用方法 1.1 打印单个内容 从图1中可以看出,print()函数的第一个参数是value,即要打印的内容.通过print()打印单个内容的方法 如图2所示: 图2 打印单个内容 1.2 打印多个内容 从图1中可以看出,print()函数的第二个参数是...,表示print()函数要打印的多个参数,

  • python中namedtuple函数的用法解析

    源码解释: def namedtuple(typename, field_names, *, rename=False, defaults=None, module=None): """Returns a new subclass of tuple with named fields. >>> Point = namedtuple('Point', ['x', 'y']) >>> Point.__doc__ # docstring for

  • Python中input()函数的用法实例小结

    目录 一:input()函数的输入机制 二:input()函数常涉及的强制类型转换 三:带提示的input()函数及其常见问题 四:利用input()一次性输入多个变量值 附:input()函数结果的强制转换 总结 一:input()函数的输入机制 我们编写的大部分程序,都需要读取输入并对其进行处理,而基本的输入操作是从键盘键入数据.Python从键盘键入数据,大多使用其内置的input()函数.但是,不同于程序设计初学者常接触的C和C++,我们不需要在输入之时规定变量的类型.相反,我们可以非常

  • Python中apply函数的用法实例教程

    一.概述: python apply函数的具体含义如下:   apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数.args是一个包含将要提供给函数的按位置传递的参数的元组.如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典.   apply()的返回值就是func()的返回值,apply()的元素参数是有序的,元素的顺序必须和func()形式参数的顺序一致 二.使用示例: 下面给几个例子来

随机推荐