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写xml文件的操作实例
Oct 05 Python
详解Python中的装饰器、闭包和functools的教程
Apr 02 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
详解Python文本操作相关模块
Jun 22 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
Python中如何导入类示例详解
Apr 17 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
Python 列表推导式需要注意的地方
Oct 23 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无限级分类实现方法分析
2016/10/19 PHP
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
python利用hook技术破解https的实例代码
2013/03/25 Python
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python 以16进制打印输出的方法
2018/07/09 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
python实现键盘输入的实操方法
2019/07/16 Python
python迭代器常见用法实例分析
2019/11/22 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
文员个人的求职信范文
2013/09/26 职场文书
爱护公物标语
2014/06/24 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript