所谓七夕

前几天的文章这个七夕节,用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

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

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

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

  2. python找最长的字符串_为Python找到最长重复字符串的有效方法(从Pearls编程)

    我的解决方案是基于后缀数组.它是由最长公共前缀的两倍前缀构成的.最坏情况下的复杂度是O(n(logn)^2).任务"伊利亚特.mb.txt"在我的笔记本上花了4秒钟.代码在函数su ...

  3. python希腊字母字符串_#10 Python字符串

    前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...

  4. python文件之间的相互调用_用Python创建功能模块——截取字符串模块

    用Python创建模块 本篇文章小编给大家分享在Python如何创建属于自己的模块,实现更多的功能! 一.模块 模块是什么?简单来说,当程序的功能很多.代码量很大时,我们可以编写一个实现一定功能的py ...

  5. python替换excel字符串_【Python代替Excel】9:列表、字符串、字典、推导式

    Python处理数据,最常用的是dataframe结构.但dataframe其实也是由其他对象组成的,比如int.float.字符串等等.今天来了解一下其他常见的对象,熟悉他们的用法. 列表List ...

  6. python用正则表达式判断字符串_使用Python验证常见的50个正则表达式

    什么是正则表达式? 正则表达式(Regular Expression)通常被用来检索.替换那些符合某个模式(规则)的文本. 此处的Regular即是规则.规律的意思,Regular Expressio ...

  7. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  8. python shelve模块_说说 Python 的 shelve 模块

    利用 Python 的 shelve 模块, 可以将程序中需要保存的数据,以二进制放入 shelf 文件中.另一个程序就可以读取 shelf 文件,用于业务逻辑.也就是说 shelve 模块可以实现数 ...

  9. python用于导入模块或模块中的对象_在 Python 中导入模块中的对象有哪几种方式? (5.0分)_学小易找答案...

    [判断题]尽管可以使用 import 语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库. (2.0分) [填空题]表达式 int(str(34)) == 34 的值为 ___ ...

最新文章

  1. 【转】在SQL Server中创建用户角色及授权(使用SQL语句)
  2. scrollView的几个属性contentSize contentOffset contentInset
  3. 1. 请简述mysql数据库的锁机制_【MySQL入门】之MySQL数据库的锁机制(二)
  4. [Java] 蓝桥杯ALGO-78 算法训练 确定元音字母位置
  5. java构建大根堆_构建大根堆
  6. jmultiselect2side.php改为asp,jquery.multiselect2side使用以及文件下载
  7. 在.NET外散步之我爱贪吃蛇Python -常见数据结构(新浪和百度云平台即将推出Python免费空间)...
  8. configure: error: readline library not found/libreadline.so: undefined reference to tputs
  9. 心动的本质是什么_喜欢上一个人的本质是什么?
  10. Python机器学习04——惩罚回归
  11. 全天下最经典的句子,2013重现!
  12. Mongodb Mysql 小测试 (To Be Continued)
  13. 一个男人不顾家的表现有哪些?
  14. 如果Mac苹果电脑关机关不了怎么办?
  15. 聊一下盲盒app开发 盲盒小程序开发
  16. WinForm,可能是Windows上手最快的图形框架了
  17. 【Zabbix】Zabbix微信告警配置演示
  18. 几率波量子雷达/反事实量子通信
  19. java微信开发教程
  20. 基于Hyperledger Fabric实现药品溯源

热门文章

  1. Spring 的核心API
  2. 经典问题:微服务和分布式的区别
  3. Nacos注册中心介绍
  4. java 读取 excel poi_java poi怎么获取excel单元格的内容?
  5. 基于multisim的fm调制解调_高通二代5G调制解调器骁龙X55实现7Gbps高速率,透露5G三大关键点...
  6. FutureTask源码
  7. 气体润滑轴承matlab分析,气体润滑轴承的研究与发展
  8. JavaScript字符串操作方法大全,包含ES6方法 1
  9. 一起撸个朋友圈吧 图片浏览(上)【图片点击前景色】
  10. CSVN部署安装,实现web管理svn