Python常用随机数函数总结

前言

每次用到随机数函数的时候总是记不清哪个函数产生什么类型的随机数,都要现查。因此写了这篇总结文章,以供需要时查阅和复习。
首先,用于生成随机数的模块有两个:

  • python内置的random模块
  • numpy.random模块

接下来分别介绍这两个模块中的一些常用函数:

一、python内置的random模块

random.random():产生一个0到1范围内的随机浮点数
random.uniform(a, b):产生一个随机浮点数n,a<= n <= b或者b<=n<=a。(此处a和b的相对大小关系没有限制)
random.randint(a, b):产生一个随机整数n,a<=n<=b。(此处a必须小于b,否则报错)
random.choice(sequence):从序列中随机获取一个元素。sequence指元素的集合,可为元组、列表或者字符串。
random.randrange([start,] stop[, step]):在 指定范围内,按照指定基数递增的集合中 随机获取一个元素

random.sample(sequence, k):从序列中随机选取k个元素组成一个新列表。
random.shuffle(list):将列表中的元素随机排序。注意此函数没有返回值,直接改变list。

举例:

import random  # 首先导入random包

# 随机浮点数
print(random.random())  
print(random.uniform(10, 20))  # a < b时
print(random.uniform(40, 30))  # a > b时

# 随机整数
print(random.randint(1, 5))

# 随机元素
print(random.choice('abcdef'))
print(random.choice( [1, 3, 5, 'ha'] ))
print(random.choice( (2, 4, 6, 'hey') ))

# 选取某范围内的随机元素
print(random.randrange(2, 10, 2))  # 在[2, 4, 6, 8]中随机选取一个元素,不包括10
print(random.randrange(5))  # 在[1, 2, 3, 4]中随机选取一个元素

# 随机选取
li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(random.sample(li, 5))
tu = (11, 12, 13, 14, 15)
print(random.sample(tu, 2))
s = 'helloworld'
print(random.sample(s, 3))

random.shuffle(li)  # 随机打乱li中元素的顺序
print(li)

二、numpy.random模块

1、np.random.rand([d0, d1, ..., dn]):返回[0.0, 1.0]之间的随机浮点数或数组,d0, d1, ...为数组的维度

# [0.0, 1.0]之间的随机浮点数
print(np.random.rand())

# [0.0, 1.0]之间的随机浮点数组
print(np.random.rand(2, 3))  # 2行3列
print(np.random.rand(2, 2, 3))  # 三维数组,维度为(2, 2, 3)

运行结果如下:

2、np.random.randn([d0, d1, ..., dn]) :返回标准正态分布样本值

# 正态分布随机样本值
print(np.random.randn())

# 正态分布随机样本数组
print(np.random.randn(2, 3))  # 2行3列
print(np.random.randn(2, 2, 3))  # 三维数组,维度为(2, 2, 3)

运行结果如下:

3、np.random.randint([low,] high[, size]) :返回随机整数,位于半开区间 [low, high)

# 随机整数
print(np.random.randint(10))  # 返回一个小于10的随机整数

# 随机整数数组
print(np.random.randint(5, size=3))
print(np.random.randint(4, size=(2, 3)))
print(np.random.randint(1, 4, size=(3, 3)))

运行结果如下:

参考:
【转】Python 玩转随机数
随机抽样 (numpy.random)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容