python集合常见运算案例解析


Posted in Python onOctober 17, 2019

本文实例讲述了python集合常见运算。分享给大家供大家参考,具体如下:

python生成不重复随机数放在列表中的效率比较

import random
import time
def RandomNumbers(number, start, end):
  '''使用列表来生成number个介于start和end之间的不重复随机数'''
  data = []
  n = 0
  while True:
    element = random.randint(start, end)
    if element not in data:
      data.append(element)
      n += 1
    if n == number - 1:
      break
  return data
def RandomNumbers1(number, start, end):
  '''使用列表来生成number个介于start和end之间的不重复随机数'''
  data = []
  while True:
    element = random.randint(start, end)
    if element not in data:
      data.append(element)
    if len(data) == number:
      break
  return data
def RandomNumbers2(number, start, end):
  '''使用集合来生成number个介于start和end之间的不重复随机数'''
  data = set()
  while True:
    data.add(random.randint(start, end))
    if len(data) == number:
      break
  return data
start = time.time()
for i in range(1000):
  RandomNumbers(1000, 1, 10000)
print('Time used:', time.time()-start)
start = time.time()
for i in range(1000):
  RandomNumbers1(1000, 1, 10000)
print('Time used1:', time.time()-start)
start = time.time()
for i in range(1000):
  RandomNumbers2(1000, 1, 10000)
print('Time used2:', time.time()-start)

得到的结果是

==================== RESTART: C:/Users/xuzm/Desktop/比较.py ====================
Time used: 24.607422828674316
Time used1: 24.069069623947144
Time used2: 4.816216945648193
>>>

可见:

append方法对空裂变追加元素的方法效率远不及add方法

Python 相关文章推荐
10款最好的Web开发的 Python 框架
Mar 18 Python
Python中的ConfigParser模块使用详解
May 04 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
Python实现多属性排序的方法
Dec 05 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
python图像处理入门(一)
Apr 04 Python
python安装scipy的方法步骤
Jun 26 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
django重新生成数据库中的某张表方法
Aug 28 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
TensorFlow的自动求导原理分析
May 26 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 #Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 #Python
python numpy中cumsum的用法详解
Oct 17 #Python
python hashlib加密实现代码
Oct 17 #Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 #Python
python模块常用用法实例详解
Oct 17 #Python
Python 使用元类type创建类对象常见应用详解
Oct 17 #Python
You might like
PHP编码规范-php coding standard
2007/03/16 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
php对数组排序的简单实例
2013/12/25 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
Array.prototype.slice 使用扩展
2010/06/09 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python检测lvs real server状态
2014/01/22 Python
python实现堆栈与队列的方法
2015/01/15 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
青年教师培训方案
2014/02/06 职场文书
就业意向书范文
2014/04/01 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
保护环境建议书100字
2014/05/13 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
关于幸福的感言
2015/08/03 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python