Python3.2官方文件翻译-工具列表和十进制浮点计算
8.7 列表工具
许多数据结构需要通过内置列表类型来满足。但,有时候在不同的性能取舍需要选择一个实现。
Array模块能提供一个像列表的array对象,它只能存储同类数据而且更加简洁。
接下来样例展示了一个数字数组。
存储是2个字节的无标识的二进制数据而不是在python对象中普通列表中的每一个16字节的值。
>>> from array import array
>>> a = array(’H’, [4000, 10, 700, 22222])
>>> sum(a)
>>> a[1:3]
array(’H’, [10, 700])
Collections模块通过方法depue()提供了一个类似列表对象。它从左边開始能更加高速加入和删除,可是在中间查询时非常慢。这些对象非常适合实现队列和广度优先查询。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3hiMDg0MTkwMTExNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
除了取代列表实现之外。标准库还提供了其它工具,比方处理排序列表的bisect模块。
>>> import bisect
>>> scores = [(100, ’perl’), (200, ’tcl’), (400, ’lua’), (500, ’python’)]
>>> bisect.insort(scores, (300, ’ruby’))
>>> scores
[(100, ’perl’), (200, ’tcl’), (300, ’ruby’), (400, ’lua’), (500, ’python’)]
Headpq模块为基于正规列表的堆实现提供了函数。
最小的值入口总是在位置0上。这对那些希望反复訪问最小元素而不像做一次完毕列表排序的应用过程序非常实用。
>>> from heapq import heapify, heappop, heappush
>>> data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
>>> heapify(data) # rearrange the list into heap order
>>> heappush(data, -5) # add a new entry
>>> [heappop(data) for i in range(3)] # fetch the three smallest entries
[-5, 0, 1]
8.8 十进制浮点数计算
十进制模块提供了对十进制浮点数计算的Decimal数据类型。
相比于内置的二进制float浮点实现,此类更加有助于下面情况:
l 须要精确十进制位数表示的財务系统或者其它用途。
l 控制精度
l 控制保留位数以来满足法律或者管理需求
l 重大十进制数的跟踪
l 那些用户想要控制数学计算结果的应用程序
比如,计算在70美分电话费中5%的税收,在十进制和二进制浮点数不同可能导致不同额结果。
假设要对最接近的分钟数进行舍入,这样的区别就变得非常重要。
Decimal模块为算术运算提供了高精度的须要
>>> from decimal import*
>>> round(Decimal(’0.70’)*Decimal(’1.05’), 2)
Decimal(’0.74’)
>>> round(.70*1.05, 2) 0.73
Python3.2官方文件翻译-工具列表和十进制浮点计算的更多相关文章
- Python3.2官方文件翻译--课堂笔记和异常是阶级
6.7备注 有时喜欢Pasca在"录"和C中"数据体"的数据类型很实用.集合一些数据项. 一个空类定义能够清楚地显示: class Employee: pass ...
- 【转】Python 爬虫的工具列表【预】
这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pycurl). pycurl – 网络 ...
- 洗礼灵魂,修炼python(52)--爬虫篇—【转载】爬虫工具列表
与爬虫相关的常用模块列表. 原文出处:传送门链接 网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pycurl). pycurl – 网络 ...
- Python 爬虫的工具列表 附Github代码下载链接
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- Python 爬虫的工具列表大全
Python 爬虫的工具列表大全 这个列表包含与网页抓取和数据处理的Python库.网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pyc ...
- 资源:开源Fuzzers工具列表 (以及其它fuzzing工具)
开源fuzzers / 开源fuzzing工具的最新列表(Fuzzers,没有标准中文翻译,可以理解为模糊测试工具或者模糊器) 如果你知道有需要添加的部分,那么请在这里或在推特上@Peerlyst来 ...
- Python 爬虫的工具列表
这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. grab - 网络库(基于pycurl). pycurl - 网络 ...
- [转] Python 爬虫的工具列表 附Github代码下载链接
转自http://www.36dsj.com/archives/36417 这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests - ...
- Hive 官方手册翻译 -- Hive DDL(数据定义语言)
Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache ...
随机推荐
- 悼念传奇,约翰询问·纳什和他的妻子艾丽西亚致敬,创建一个传奇,爱数学
约翰·阅读·纳什的传记.我渴望录制通道 我一直相信数字,无论逻辑方程使我们认为.但这种追求一生的后,我问自己:"这是什么逻辑?谁决定的理由?"我的探索让我从物理到形而上,最后到了妄 ...
- Linux Kernel(Android) 加密算法汇总(四)-应用程序调用OpenSSL加密演算法
Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口 讲到了怎样调用内核中的接口的方法. 本节主要是介绍怎样Android C/C++应用程序调用Openssl ...
- 【剑指offer】q50:树节点最近的祖先
#@ root: the root of searched tree #@ nodeToFind: the tree-node to be found #@ path: the path from r ...
- 重新想象 Windows 8 Store Apps (11) - 控件之 ListView 和 GridView
原文:重新想象 Windows 8 Store Apps (11) - 控件之 ListView 和 GridView [源码下载] 重新想象 Windows 8 Store Apps (11) - ...
- SqlServer表EXCEL数据复制的另一种方法
一个.SqlServer表中的数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键.复制(也能够点击连同标题复制),拷贝到记事本中(不然会乱码) 3.然后再把记事本 ...
- oj 小黑熊偷玉米
Description 小黑熊的邻居bob 家里种很多玉米,玉米被布置在一条线上 .小黑熊贪心要偷玉米.但bob家是太多了玉米,所以小黑熊决定选择时间间隔[l,r]偷.因为小黑熊的幸运号码是k,的区间 ...
- quick 2.23 它们的定义c++代码lua与总结的一些细节
它们的定义c++代码lua与总结的一些细节 参考:点击打开链接 1.自己定义 XXX.cpp .XXX.h 2.D:\quick\quick-cocos2d-x-2.2.3-rc\lib\cocos2 ...
- 使用form的target属性屏蔽url跳
target: 指定公开赛, action URL. 关键点: 让target指向隐藏的iframe demo: form.jsp <%@ page language="java&qu ...
- NYOJ 300 && hdu 2276 Kiki & Little Kiki 2 (矩阵高速功率)
pid=300">Kiki & Little Kiki 2 时间限制:5000 ms | 内存限制:65535 KB 难度:4 描写叙述 There are n light ...
- Spark里边:Worker源代码分析和架构
首先由Spark图表理解Worker于Spark中的作用和地位: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW56aHNvZnQ=/font/5a6L ...