Python随机数模块详情

 更新时间:2021年11月02日 08:57:43   作者:一碗周  
这篇文章主要介绍了Python随机数模块,随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数,下文来看看详细内容,需要的朋友可以参考一下

前言:

随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。

1、生成随机数

1.1 random.random() 方法

返回随机生成的一个实数,它在[0,1)范围内。

语法结构:

import random  # 导入 random 模块

random.random()

1.2 random.randint方法

语法格式:

random.randint(a,b)

函数返回数字 N N a b 之间的数字(a <= N <= b),包含 a b

1.3 random.uniform方法

语法格式:

random.uniform(a,b)

函数返回一个随机浮点数 N ,当 a <= b a <= N <= b ,当 b < a b <= N <= a

1.4 random.randrange方法

语法结构:

random.randrange(start, stop[, step])

  • start: 计数从 start 开始。默认是从 0 开始。例如randrange(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:randrange(0, 5)[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 randrange(0, 5, 1)

返回一个随机范围内的数字

等价于choice(range(start, stop, step))

示例代码:

import random

random_value = random.random()
print(random_value)

randint_value = random.randint(1, 3)  # 返回随机整数
print(randint_value)

uniform_value = random.uniform(1, 3)  # 返回随机浮点数
print(uniform_value)

randrange_value = random.randrange(1, 100, 2)  # 1到100步长为2(这里只能取到100以为的奇数)
print(randrange_value)

每次运行取到的结果都是不一样的。

2、用于序列的函数

2.1 random.choice(seq)

从非空序列中返回一个随机元素,如果序列为空,则抛出异常

示例代码:

import random

value = random.choice(range(1, 100, 2))
# 这个等于random.randrange(1, 100, 2)
print(value)

好像洗牌就要用这个方法哎

生成一个验证码的小案例:

import random


# 一个生成验证号的小案例
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
captcha = ''
for _ in range(4):
    a = random.choice(all_chars)
    captcha += a  # 连接字符串
print(captcha)

2.2 random.shuffle()方法

shuffle(list) 方法将序列的所有元素随机排序

示例代码:

import random
list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
random.shuffle(list1)

print(list1)

2.3 random.sample()方法

random.sample(sequence, k) ,从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。切片长度不能超过原有的长度,否则会抛出异常

示例代码:

import random
list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
list2 = random.sample(list1, len(list1))
print("原列表:", list1)
print("新列表:", list2)

这个方法可以给原序列排序并不破坏原有序列

到此这篇关于Python随机数模块详情的文章就介绍到这了,更多相关Python随机数模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python pass函数实例用法

    Python pass函数实例用法

    在本篇文章里小编给大家整理了一篇关于Python pass函数实例用法,有兴趣的朋友们可以学习下。
    2021-03-03
  • python 利用turtle模块画出没有角的方格

    python 利用turtle模块画出没有角的方格

    今天小编就为大家分享一篇python 利用turtle模块画出没有角的方格,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 使用ChatGPT来自动化Python任务

    使用ChatGPT来自动化Python任务

    这篇文章主要介绍了使用ChatGPT来自动化Python任务的相关资料,需要的朋友可以参考下
    2022-12-12
  • keras 获取某层的输入/输出 tensor 尺寸操作

    keras 获取某层的输入/输出 tensor 尺寸操作

    这篇文章主要介绍了keras 获取某层的输入/输出 tensor 尺寸操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现时间序列变化点检测功能

    Python实现时间序列变化点检测功能

    平稳性是时间序列分析与预测的核心概念,在平稳条件下,时间序列的统计特性(如均值)在时间维度上保持不变,仅存在随机波动,但是时间序列通常会经历结构性断裂或变化,本文给大家介绍了Python实现时间序列变化点检测功能,需要的朋友可以参考下
    2024-09-09
  • Python Fire创建简单的命令行接口

    Python Fire创建简单的命令行接口

    Python Fire是一个开源库,它能够自动生成命令行接口,让Python程序变得更加友好和易用,本文主要为大家介绍了Python Fire如何根据Python函数自动生成命令行接口,感兴趣的可以了解下
    2023-11-11
  • Django 中使用流响应处理视频的方法

    Django 中使用流响应处理视频的方法

    这篇文章主要介绍了Django 中使用流响应处理视频的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python爬取YY评级分数并保存数据实现过程解析

    Python爬取YY评级分数并保存数据实现过程解析

    这篇文章主要介绍了Python爬取YY评级分数并保存数据实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 使用Python和scikit-learn创建混淆矩阵的示例详解

    使用Python和scikit-learn创建混淆矩阵的示例详解

    这篇文章主要介绍了使用Python和scikit-learn创建混淆矩阵的示例详解,该示例包括生成数据集、为数据集选择合适的机器学习模型、构建、配置和训练它,最后解释结果,即混淆矩阵,需要的朋友可以参考下
    2022-06-06
  • 100 个 Python 小例子(练习题四)

    100 个 Python 小例子(练习题四)

    这篇文章主要给大家分享100 个 Python 小例子,前文分享了一二三,本文的四十最后一篇了,这篇就把100道python小练习全分享完了,感兴趣的小伙伴也可以去练习前几期内容,洗碗给这几篇文章给你的学习带来帮助
    2022-01-01

最新评论