流畅的python和cookbook学习笔记(五)

1.随机选择

  python中生成随机数使用random模块。

  1.从序列中随机挑选元素,使用random.choice()

>>> import random
>>> values = [1, 2, 3, 4, 5, 6]
>>> random.choice(values)
3
>>> random.choice(values)
3
>>> random.choice(values)
1
>>> random.choice(values)
1
>>> random.choice(values)
4

  2.取出指定个数的元素,使用random.sample()

>>> random.sample(values, 2)
[1, 4]
>>> random.sample(values, 2)
[3, 5]
>>> random.sample(values, 3)
[5, 3, 2]
>>> random.sample(values, 3)
[1, 3, 2]

  3.打乱序列的顺序,可以用来洗牌,使用random.shuffle()

>>> random.shuffle(values)
>>> values
[2, 4, 5, 3, 6, 1]
>>> random.shuffle(values)
>>> values
[2, 6, 5, 4, 3, 1]

  4.生成随机整数,使用random.randint()

>>> random.randint(1, 10)
3
>>> random.randint(1, 10)
10
>>> random.randint(1, 10)
5

  5.生成 0 到 1 之间的浮点数,使用random.random()

>>> random.random()
0.31720220264500265
>>> random.random()
0.8230452349376671
>>> random.random()
0.09307172325744872

  6.生成随机比特位的整数,使用random.getrandbits()

>>> random.getrandbits(200)
859899606181938256764615251875627706548045135119258688489931
>>> random.getrandbits(200)
582401031226834278134883678914218487507678688169321631685078

 

2.时间的转换

  1.python中使用datetime模块来转换时间。

>>> from datetime import timedelta
>>> a = timedelta(days = 2, hours = 6)
>>> b = timedelta(hours = 4.5)
>>> c = a + b
>>> c.days
2
>>> c.seconds
37800
>>> c.seconds / 3600
10.5
>>> c.total_seconds() / 3600
58.5

  表示特定的日期和时间。

>>> from datetime import datetime
>>> a = datetime(2017, 9, 8)
>>> print(a + timedelta(days=2))
2017-09-10 00:00:00
>>> b = datetime(2017, 9, 22)
>>> d = b - a
>>> d.days
14
>>> now = datetime.today()
>>> print(now)
2017-09-08 20:09:56.904169
>>> print(now + timedelta(minutes=10))
2017-09-08 20:19:56.904169

  2.使用dateutil模块,可以处理不同月份中的天数。datetime不能处理月份。

>>> from dateutil.relativedelta import relativedelta
>>> a = datetime(2017, 9, 8)
>>> a + relativedelta(months=1)
datetime.datetime(2017, 10, 8, 0, 0)
>>> a + relativedelta(months=4)
datetime.datetime(2018, 1, 8, 0, 0)
>>> b = datetime(2017, 11, 11) >>> d = b - a >>> d datetime.timedelta(64)
>>> d = relativedelta(b, a) >>> d relativedelta(months=+2, days=+3) >>> d.months 2 >>> d.days 3

  3.把字符串转换为时间,使用datetime.strptime(),把时间转化为字符串使用datetime.strftime()

>>> from datetime import datetime
>>> text = '2017-9-8'
>>> y = datetime.strptime(text, '%Y-%m-%d')
>>> z = datetime.now()
>>> diff = z - y
>>> diff
datetime.timedelta(0, 73494, 826144)
>>> y
datetime.datetime(2017, 9, 8, 0, 0)
>>> z
datetime.datetime(2017, 9, 8, 20, 24, 54, 826144)
>>> nice_z = datetime.strftime(z, '%A %B %d %Y')
>>> nice_z
'Friday September 08 2017'

 

转载于:https://www.cnblogs.com/zt19994/p/7496303.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-18356.html

如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网进行投诉反馈,一经查实,立即删除!


相关文章:

  • 第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表...
  • Effective Objective-C 的读书笔记
  • Kaldi语料的两种切分/组织方式及其处理
  • Head First设计模式之命令模式
  • 安装debian 9.1后,中文环境下将home目录下文件夹改为对应的英文
  • 加密算法IV的作用
  • SpringBoot 分布式session
  • 9,求整数的二进制中1的个数《剑指offer》
  • FastJson(阿里巴巴)基础
  • struts入门实例
  • 软件工程第二次作业——个人项目
  • C# 5.0 CallerMemberName CallerFilePath CallerLineNumber获取调用方法名称,路径,行号
  • 《结对-航空购票系统-开发环境搭建过程》
  • 20170831_安装软件
  • 寻找Harris、Shi-Tomasi和亚像素角点
  • qemu模拟器下编译运行基于riscv指令集的Linux操作系统
  • C# 文件上传
  • loadrunner要点总结
  • Spark总结1
  • 第一次作业_U201410737 _万学远
  • Eclipse在当前行之上插入一行
  • Android Studio运行程序出现Session ‘app’: Error Launching activity 解决办法
  • Git 分支及bug分支合并
  • C#参数详解
  • C#给图片加文字水印
  • Appium+python自动化17-启动iOS模拟器APP源码案例
  • sql server使用的注意点及优化点 自备
  • JDK编码
  • AssetPostprocessor.OnPreprocessModel
  • dedecms织梦让channelartlist标签支持currentstyle属性
  • 从github下载的项目如何运行??---------本文以vue的项目为例
  • openwrt源码下载移植
  • DC guide ---3
  • [hiho1160] 攻城略地
  • 题目整理0924
  • lumen安装后输出hello world
  • JS--微信浏览器复制到剪贴板实现
  • 网络对抗实验一
  • Vue-cli proxyTable 解决开发环境的跨域问题
  • HIVE基础操作
  • [Python] Different ways to test multiple flags at once in Python
  • vue实现侧边栏手风琴效果
  • js获取元素,窗口的宽度、高度
  • cCupcake---ToFu
  • 在Linux上显示某个进程的线程的几种方式
  • Yii2 upload
  • HDU 2014 - 青年歌手大奖赛_评委会打分
  • Cent OS 下 VI 使用方法
  • 10.5~10.6复习与预习的进行
  • 神奇DP [HNOI2004] 打砖块