python中的随机数生成
结论先行
生成随机数:
# salt = ''.join(random.choices(string.ascii_letters + string.digits, k=3))
salt = ''.join(random.sample(string.ascii_letters + string.digits, 3))
print(salt)
random模块
python标准库中的random
函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据。
random主要函数接受
random.random() 用于生成一个随机浮点数
>>> import random
>>> random.random()
0.025952242994744412
random.uniform(a,b) 用于生成一个指定范围的随机浮点数。若a=b,则生成的浮点数是a
>>> random.uniform(2,5)
2.3194041077057443
>>> random.uniform(2,2)
2.0
random.randint(a,b) 用于生成一个指定范围内的整数,生成的随机整数a<=n<=b
>>> random.randint(2,3)
2
>>> random.randint(2,3)
3
>>> random.randint(2,2)
2
random.randrange([start],stop[,step]) 从指定范围,按指定基数递增的集合中获取一个随机数,基数缺省值为1,不包含stop。
random.randrange(10) #输出0~10之间的任意数
random.randrange(10,100) #输出为10到100间的任意数
random.randrange(10,100,4) #输出为10到100内以4递增的序列[10,14,18,22...]
random.choice(range(10,100,4)) #输出在结果上与上一条等效
random.shuffle(x[,random]) 用于将一个列表中的元素打乱
>>> list=[1,2,3,4,5]
>>> random.shuffle(list)
>>> list
[4, 1, 2, 5, 3]
>>> random.shuffle(list)
>>> list
[2, 4, 3, 1, 5]
random.choice(sequence) 从序列中获取一个随机元素,包括list、tuple、字符串等
>>> random.choice(range(10))
7
>>> random.choice("hello")
'e'
>>> random.choice([1,2,3])
3
>>> random.choice((1,2,3))
1
random.choices(sequence,k=n) 从指定序列中随机获取n个元素作为一个片段返回。该函数还可以设置各个元素的权重,详见官方文档。python3才有的函数。
>>> import random
>>> random.choices('12345678',k=3)
['6', '3', '7']
random.sample(sequence,k) 从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列
>>> a='1234567890'
>>> random.sample(a,3)
['4', '1', '5']
>>> a
'1234567890' # a不变
>>> random.sample([1,2,3,4,5,6,7,8],3)
[1, 7, 5]
>>> random.sample((1,2,3,4,5,6,7,8),3)
[6, 2, 7]
python中的随机数生成的更多相关文章
- python中uuid来生成机器唯一标识
摘要: 我们可以使用uuid1的后16位来标识一个机器. # use machine specific uuid, last 16 char will be the same if machine ...
- Python中的矩阵、多维数组:Numpy
Numpy 是Python中科学计算的核心库.它提供一个高性能多维数据对象,以及操作这个对象的工具.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对 ...
- Python中随机数的生成
在Python中要实现随机数的生成,需要使用random模块中randint方法. 其具体实现方法如下: import random a = random.randint(1,20) #(1,20)为 ...
- Python中面向对象的概念
1.语言的分类 1)面向机器 抽象成机器指令,机器容易理解.代表:汇编语言. 2)面向过程 做一件事,排除步骤,第一步做什么,第二步做什么,如果出现A问题,做什么处理,出现b问题,做什么处理.问题规模 ...
- [转]Python中的str与unicode处理方法
早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...
- python中的Ellipsis
...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...
- python中的默认参数
https://eastlakeside.gitbooks.io/interpy-zh/content/Mutation/ 看下面的代码 def add_to(num, target=[]): tar ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- python中的TypeError错误解决办法
新手在学习python时候,会遇到很多的坑,下面来具体说说其中一个. 在使用python编写面向对象的程序时,新手可能遇到TypeError: this constructor takes no ar ...
随机推荐
- C++设计考试例题
1. 采用面向对象的方式编写一个通迅录管理程序,通迅录中的信息包括:姓名,公司,联系电话,邮编.要求的操作有:添加一个联系人,列表显示所有联系人.先给出类定义,然后给出类实现.(提示:可以设计二个类, ...
- OpenWrite插件上架Google商店,插件安装更加容易!用户安全更有保障!
随着越来越多用户加入OpenWrite写作与快速发布文章到各大技术社区,不少非程序员童鞋经常会卡在插件安装这一步. 这是因为之前我们没有把插件上架到Google商店,所以需要用比较硬核的方式来安装. ...
- css 揭秘-读书笔记
css 揭秘 [希]Lea verou 著 css 魔法 译 该书涵盖7大主题,47个css技巧,是css进阶必备书籍,开阔思路,探寻更优雅的解决方案.这本书完全用css渲染出的html写成的(布局. ...
- swool安装(centos7)
1:获取swoole https://github.com/swoole/swoole-src/releases http://pecl.php.net/package/swoole http://g ...
- es6 之class介绍
class ECMAScript 2015 中引入的 JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖.类语法不会为JavaScript引入新的面向对象的继承模型. ...
- 一些有用的Function或Class Method,持续更新
一些有用的Function 或 Class Method Function/Class Method 类型 作用 模块 备注 co_cost_show_order_costs Func 显示生产订单. ...
- 树莓派Raspberry pi安装系统/烧录系统
一:下载系统文件 1.树莓派官网系统下载链接:https://www.raspberrypi.org/downloads/raspbian/ (也可在百度云盘下载:https://pan.baidu. ...
- idea安装以及使用
1. 简介1.1 IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构. J2EE ...
- Day10 - Python基础10 socketserver 实现并发
本节内容: 1.实例tcp的并发 2.看源代码继承关系 3.详解:ThreadingTCPServer的过程 4.tcp和udp的request 不同 5.基于udp的并发实现 1.实例tcp并发 s ...
- 201871010102-常龙龙《面向对象程序设计(java)》第十五周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...