在处理数据的时候,经常需要判重,例如将几个集合set合并成一个集合。

法一:

最开始采取的方法是利用Python自带的数据结构set([]),然后采用集合并‘|’运算,得到最终的集合,这种方法比较简单大,但效率太低,耗时严重,如下:

vocabularySet=set([])vocabularySet=vocabularySet|set(vocabularyDocument[classNumber]) # set 合并,耗时操作

法二:

在C++中,经常采用数据结构Map来Hash,于是查找Python中的Map(映射),发现Python有字典(Dictionary数据类型),这个映射Hash过程,可以用它来完成,效率提高不少,如下:

vocabularyHash={}vocabularySet=[]if vocabularyHash.has_key(curLine[j]) == False:vocabularySet.append(curLine[j])vocabularyHash[curLine[j]]=1

效率对比:

法二耗时:0.506秒,采用第一种方法耗时在20秒以上,所以采用第二种方法的效率优势还是非常明显的。

Python基础-映射相关推荐

  1. 刻意练习:Python基础 -- Task06. 字典与集合

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  2. 刻意练习:Python基础 -- Task05. 函数与Lambda表达式

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  3. 万字长文爆肝Python基础入门【巨详细,一学就会】

    目录 数据的名字和种类--变量和类型 初探数据种类 数据类型 数值运算 比较运算 变量和赋值 变量的好处 用赋值更新变量 变量和数据类型的关系 总结 数据类型 数值运算 数值比较 变量和赋值 一串数据 ...

  4. 九. Python基础(9)--命名空间, 作用域

    九. Python基础(9)--命名空间, 作用域 1 ● !a 与 not a 注意, C/C++可以用if !a表示if a == 0, 但是Python中只能用if not a来表示同样的意义. ...

  5. python基础知识资料-Python基础知识梳理 - 第02部分

    本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等 ...

  6. python基础教程pdf百度云-《Python基础教程(第3版)》PDF高清版

    <python基础教程第3版>PDF高清版  百度云资源,内涵教材源代码 百度云链接:百度云盘 提取码:7r7o 编辑推荐 久负盛名的Python入门经典,是非常优秀的基础教程,深入浅出, ...

  7. Python基础之格式化输出函数format()功能详解

    之前发过一篇文章:Python基础之常用格式化输出字符详解 但是呢,有时候我们需要用到多个%的时候,用这个就很不方便了,比如数错%数量或者一 一对应的时候... 这里补充一个字典方式的格式化输出字符的 ...

  8. Python基础数据类型之set集合

    Python基础数据类型之set集合 一.set数据类型介绍 二.set集合演示 三.set集合中hash介绍 1.哈希定义 2.数据类型的hash和不可hash 3.set中hash示例 四.set ...

  9. Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho

    Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...

最新文章

  1. 关于 Ruby Ruby on Rails 的一些书及论坛网站
  2. JavaScript pop()函数弹出数组最后数据
  3. DotFuscator使用步骤
  4. Web前端研发工程师编程能力飞升之路
  5. MogDB存储过程事务控制与异常块
  6. PHP之mb_internal_encoding使用 1
  7. WLAN加密技术详解
  8. Neo4j的下载与安装
  9. C语言 fwrite 覆盖文件原始数据问题
  10. python对写作有什么帮助_[俄勒冈大学]养成Python写作习惯
  11. 锁机制初探(五)Moniter的实现原理
  12. 计算机应用基础的重点知识,《计算机应用基础知识》重点总结
  13. AS 导出aar给Unity出打包出现Unable to merge android manifests
  14. 搭建VUE大屏展示项目(一)环境搭建
  15. 卷积码树状图怎么画_第八讲卷积码详解.ppt
  16. 将 dev 分支强推到 master
  17. One Plus 3(一加3)手机变砖救活经历
  18. R语言中用于计算相关系数和偏相关系数的包
  19. 制作PS合成在易拉罐中洗澡的水果
  20. 全国计算机等级考试三级数据库技术(四)

热门文章

  1. Thinkphp内核自动挂机阅读文章系统源码
  2. Python 之 Matplotlib xticks 的再次说明、图形样式和子图
  3. JavaScript将后端获取到的byte数组转为文件
  4. PDF编辑器:Adobe Acrobat XI Pro
  5. 笔记本联想拯救者英伟达win11调节不了亮度
  6. 密码破解神器海德拉GUI界面-xhydra
  7. CentOS8 KVM USB设备直通虚拟机并实现热插拨
  8. 笔记............................
  9. 关于grafana的界面操作展示loki
  10. 主板显卡服务器维修,显卡无显示怎么维修 显卡无显示解决方法【详细介绍】...