8.7 列表工具

许多数据结构需要通过内置列表类型来满足。但,有时候在不同的性能取舍需要选择一个实现。

Array模块能提供一个像列表的array对象,它只能存储同类数据而且更加简洁。

接下来样例展示了一个数字数组。

存储是2个字节的无标识的二进制数据而不是在python对象中普通列表中的每一个16字节的值。

>>> from array import array

>>> a = array(’H’, [4000, 10, 700, 22222])

>>> sum(a)

26932

>>> a[1:3]

array(’H’, [10, 700])

Collections模块通过方法depue()提供了一个类似列表对象。它从左边開始能更加高速加入和删除,可是在中间查询时非常慢。这些对象非常适合实现队列和广度优先查询。

除了取代列表实现之外。标准库还提供了其它工具,比方处理排序列表的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

python中浮点型和十进制_Python3.2官方文件翻译-工具列表和十进制浮点计算相关推荐

  1. Python3.2官方文件翻译-工具列表和十进制浮点计算

    8.7 列表工具 许多数据结构需要通过内置列表类型来满足.但,有时候在不同的性能取舍需要选择一个实现. Array模块能提供一个像列表的array对象,它只能存储同类数据而且更加简洁. 接下来样例展示 ...

  2. python中浮点型和整形_Python 整形浮点型

    整形 ​Python中对于整形的划分非常简单,只有一个int类型. 基本声明 ​以下是使用类的形式进行声明: age = int(12) print("值:%d,类型%s"%(ag ...

  3. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...

    [单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...

  4. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...

    [单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...

  5. python如果选择不在列表里_使用python中的in ,not in来检查元素是不是在列表中的方法...

    使用python中的in ,not in来检查元素是不是在列表中的方法 更新时间:2018年07月06日 15:01:34 作者:mengtianwxs 今天小编就为大家分享一篇使用python中的i ...

  6. Python中,os.listdir遍历纯数字文件乱序如何解决

    Python中,os.listdir遍历纯数字文件乱序如何解决 日常跑深度学习视觉相关代码时,常常需要对数据集进行处理.许多图像文件名是利用纯数字递增的方式命名.通常所用的排序函数sort(),是按照 ...

  7. 【Python中的权限错误:无法访问文件】-- 解决方案

    [Python中的权限错误:无法访问文件]-- 解决方案 在Python编程过程中,我们常常会遇到文件读写.创建.删除等操作.有时候当我们试图进行这些操作时,会出现"PermissionEr ...

  8. python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?

    如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...

  9. python中浮点单精度用什么表示_不方便在numpy中使用单精度浮点

    问题是,当您在一个操作中使用不同的类型时,NumPy会提升这些类型.float32仅当另一个数值操作数的数据类型为:float32或更少 int16或更少 uint16或更少 如果另一个操作数有另一个 ...

最新文章

  1. js call(),apply(),对象冒充,改变变量作用域
  2. python学习笔记全过程_Python学习过程笔记整理(一)
  3. VS2015 C#6.0 中的那些新特性(转)
  4. NoteExpress 3.2下载
  5. 象棋程序 android,中国象棋人机对弈程序在Android系统上的设计与实现
  6. C++ 的API 设计指导
  7. win7笔记本外接显示器html,win7系统笔记本外接显示器的操作方法
  8. TFS 2010安装指南
  9. shopee上架接口java_关于shopee平台接口(php)对接示例
  10. Shopee虾皮电商平台考试题附答案
  11. 高跟鞋,五角星与黄金分割比
  12. 大型门户网站架构分析
  13. 【矩阵论】线性空间与线性变换(1)
  14. 搜索引擎/网络蜘蛛程序代码
  15. 给大忙人看的码农翻身记
  16. python实现pdf文件合并,多个pdf文件合并,pdf文件叠加
  17. Ubuntu 20.04安装RTL8812BU网卡驱动教程
  18. 锐龙r7 6800u和i5 12500h选哪个好 r76800u和i512500h对比
  19. 天瑞达安科技集团:Java工程师能从事什么工作,不单是程序员!!
  20. 边吃烧烤边喝啤酒引发疾病

热门文章

  1. python-容器数据类型-知识小结
  2. PHP设计模式之建造者模式
  3. Linux 比较不同命令
  4. 答网友:如何在Sbo Add-on中激活或者禁止系统增加、查找和导航按钮?
  5. java基础----数据类型转化
  6. EF连接ORACLE
  7. Spring Boot与RESTful API
  8. wikioi 1294 全排列 dfs
  9. OpenWares | Open Source and Free Matters » 为rm命令增加回收站功能
  10. Linux 中显示所有正在运行的进程