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 (2)
Oct 31 Python
python自动化测试之setUp与tearDown实例
Sep 28 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
Python学习小技巧总结
Jun 10 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
详解python编译器和解释器的区别
Jun 24 Python
Pytorch mask_select 函数的用法详解
Feb 18 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
Django多数据库联用实现方法解析
Nov 12 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
python 如何执行控制台命令与操作剪切板
May 20 Python
Django模型层实现多表关系创建和多表操作
Jul 21 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
Python open读写文件实现脚本
2008/09/06 Python
Python sys.path详细介绍
2013/10/17 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
怎样使用Python脚本日志功能
2016/08/14 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
python绘制封闭多边形教程
2020/02/18 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
python数字图像处理:图像的绘制
2022/06/28 Python