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 相关文章推荐
python 性能提升的几种方法
Jul 15 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
python实现旋转和水平翻转的方法
Oct 25 Python
python异步存储数据详解
Mar 19 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
Python程序控制语句用法实例分析
Jan 14 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
python使用梯度下降算法实现一个多线性回归
Mar 24 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 Python
字典算法实现及操作 --python(实用)
Mar 31 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使用Imagick生成图片的方法
2015/07/31 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
Django视图和URL配置详解
2018/01/31 Python
python爬虫实现中英翻译词典
2019/06/25 Python
python动态进度条的实现代码
2019/07/03 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
高三自我鉴定怎么写
2013/10/19 职场文书
高级销售求职信
2014/02/21 职场文书
法人代表证明书
2014/09/18 职场文书
校园安全广播稿范文
2014/09/25 职场文书
婚宴父母致辞
2015/07/27 职场文书
环保主题班会教案
2015/08/13 职场文书
2019感恩宣传标语!
2019/07/05 职场文书