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进阶教程之文本文件的读取和写入
Aug 29 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
Django权限机制实现代码详解
Feb 05 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python简易远程控制单线程版
Jun 20 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
python进程的状态、创建及使用方法详解
Dec 06 Python
宝塔更新Python及Flask项目的部署
Apr 11 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
全国中波电台频率表
2020/03/11 无线电
建立动态的WML站点(三)
2006/10/09 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
jQuery 选择器理解
2010/03/16 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python实现图像外边界跟踪操作
2020/07/13 Python
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
小学生暑假感言
2014/02/06 职场文书
家长对孩子的感言
2014/03/10 职场文书
股东授权委托书范文
2014/09/13 职场文书
人民调解协议书
2016/03/21 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python