所谓七夕

前几天的文章这个七夕节,用Python为女友绘制一张爱心照片墙吧!收获了最近以来最高的浏览量,没枉费我熬到夜里3点赶出来的热点文章。有付出就总会有所回报,只是看这天来的早晚而已。七夕一个人看这网易的数据分析直播体验课程,偶尔刷刷朋友圈,看看各种秀…有人说,经得起寂寞,耐得住孤独,能安心踏实去做一件事,才有有所建树。努力吧更为朋友们!

常用模块

面对现在各种的python3天入门、21天速成,等等的教程与素材,让很多人对python的基础知识,掌握的很薄弱。包括我身边的朋友,已经开始Django、Flask的web开发了,甚至对文件遍历还不慎了解。昨天在做照片墙的时候,用到了random模块,大家可能觉得,这个模块有啥说的,无非就是随机数么,但随机的方式却有很多,今天就跟大家总结下random这个常用的模块

random函数总结

random作为python自带的模块,无需下载即可直接使用。import random导入该模块。

  • random

random.random()会生成一个[0,1)之间的随机数,如:0.21639729286525555。

  • randint

random.randint(start,end)随机生成一个范围内的整数。
random.randint(1,100) >>> 62

  • uniform

random.uniform(start,end)随机生成一个范围内的浮点数,起始与终止区间可以为小数
random.uniform(3.5,9.6) >>> 8.233366765359236

可迭代对象

python中万物皆对象,那么什么属于可迭代的对象呢?我们来举几个例子

list_a = [1, 2, 3]
dict_b = {“a”:1,”b”:2}
string_c = “abc”
char_d = ‘A’
int_e = 123
float_f =10.5
boolen_g = True

对于前两个,大家肯定知道是可迭代对象,但从第三个开始有些人就迷了…尤其char_d = 'A'这个,很多人都会觉得是不可迭代的,但其实不然,python中没有所谓的char和string的区别,只有字符串所以string_c和char_d都是可迭代的对象,如何验证?

from collections.abc import Iterablechar_c = 'A'
print(isinstance(char_c, Iterable))
>>> True

这里看到一点曾记否,我们引入Iterable使用的是from collections import Iterable什么时候出来了个abc?如果我们还是用老的方式导入,会给出提示:

DeprecationWarning: Using or importing the ABCs from ‘collections’ instead of from ‘collections.abc’ is deprecated, and in 3.8 it will stop working from collections import Iterable

所以有时候拥抱变化,也很重要!那么为什么突然插出一个Iterable的讲解呢?下面几个方法会用到…

  • choice & sample

刚才介绍可迭代对象就是为了讲解这两个random中使用最为普遍的函数。choice和sample之所以一起讲,是为了将二者对比记忆。
不管是random.choice还是random.sample,他们跟的必须是可迭代的对象。
choice我们可以理解为单选,而sample我们可以理解为自定义多选。举个栗子:

random.choice('abc')
>>> 'b'
random.choice([1,2,3,4,5])
>>> 2
random.sample('abc',2)
>>> ['b', 'c']
random.sample([1,2,3,4,5],3)
>>> [3, 5, 4]
# 但我们不可以这样:
random.choice(5)
random.sample(10,1)

choice不容易出错,但sample大家需要注意:

  1. sample既然是自定义多选,那么我们首先需要定义我们选择几个数值

  2. sample在选择是,自定义的数值,不能大于可迭代对象的最大长度

  3. sample选择后,返回列表类型,且列表为随机数。

  • shuffle

random.shuffle()这里需要注意,他只能针对list类型的数据,进行重新排序,这点一定要牢记,避免报错

list_a = ['a','b','c','d','e']
random.shuffle(list_a)
print(list_a)
>>> ['b', 'e', 'c', 'a', 'd']

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。
期待你关注我的公众号清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。

作者:清风Python

关于Python的随机数模块,你必须要掌握!相关推荐

  1. c++ 随机字符串_关于Python的随机数模块,你必须要掌握!

    所谓七夕 前几天的文章这个七夕节,用Python为女友绘制一张爱心照片墙吧!收获了最近以来最高的浏览量,没枉费我熬到夜里3点赶出来的热点文章.有付出就总会有所回报,只是看这天来的早晚而已.七夕一个人看 ...

  2. python随机数据库_关于Python的随机数模块,你必须要掌握!-后台/架构/数据库-敏捷大拇指-一个敢保留真话的IT精英社区...

    所谓七夕 昨天的文章这个七夕节,用Python为女友绘制一张爱心照片墙吧!收获了最近以来最高的浏览量,没枉费我熬到夜里3点赶出来的热点文章.有付出就总会有所回报,只是看这天来的早晚而已.七夕一个人看这 ...

  3. 使用Python的随机数模块 random 实现猜数字游戏

    随机生成1~10之间的一个整数,提示用户去猜,用户最多可以猜3次: 如果在3次内猜对答案,程序结束,显示如"答对了,您猜了2次!"的信息: 如果猜错,显示信息如"太大了& ...

  4. python产生随机数random.random_Python内置random模块生成随机数的方法

    本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法. 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的ran ...

  5. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  6. RANDOM模块:PYTHON获取随机数

    RANDOM模块:PYTHON获取随机数 1. random.random random.random(): 用于生成一个0到1的随机浮点数: 0 <= n < 1.0 例子: >& ...

  7. 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成

    详解Python基础random模块随机数的生成 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python基础random模块随机数的生成.txt ] ( ...

  8. python random库生成伯努利随机数的方法_详解Python基础random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

  9. python随机模块 无范围_Python模块:生成随机数模块random

    随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1)这样 random.randint( 0, 6, ( 4, ...

最新文章

  1. MMD_2c_FrequentItemsets
  2. golang 数据类型之间的转换
  3. EMC Isilon(OneFS)删除重要数据后恢复案例
  4. 一切都是关于“ –ilities”的
  5. Docker安装Redis以及配置Redis环境
  6. 天池 在线编程 放小球(动态规划)
  7. 送你两个神器,关系数据库数据入湖轻松应对
  8. CodeForces - 1013B And 与运算暴力
  9. 使用指针时的“陷阱”
  10. 《从0到1学习Flink》—— 如何自定义 Data Source ?
  11. win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_舒心,享受——win10美化...
  12. 2021年最完整的html网页跳转代码大全
  13. 新浪微博广告投放展现形式、展现位置!微博推广广告有效果吗?
  14. STM32F4 GPIO模式及工作原理详解
  15. 163免费邮件群发平台,企业群发邮件的哪个好?企业邮件群发助手
  16. supersu二进制更新安装失败_supersu二进制更新失败怎么办及解决方法
  17. WSA工具箱安装应用商店提示无法工作怎么解决?
  18. 浏览器查找文献\论文\资料\文档的小技巧
  19. linux启动db2的命令窗口_linux下如何启动db2数据库命令窗口
  20. 记录一下所有平台emoji表情查询网站

热门文章

  1. Oracle修改表存储参数,Oracle存储结构之参数文件
  2. Coding Interview Guide -- 括号字符串的有效性和最长有效长度
  3. penpyxl basic function demo code
  4. 第二章《深入C#数据类型》项目经理评分
  5. 腾讯、百度、小米、正点面试总结
  6. 2句搞定 DataGridView 让选中行在可视范围内
  7. 又是一年末来临,年终奖金的算法
  8. Excel合并单元格基础注意事项(VSTO 2005)
  9. php 安装phalcon,安装phalcon
  10. 二分答案——跳石头(洛谷 P2678)