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中的ctime()方法使用教程
May 22 Python
Python中的getopt函数使用详解
Jul 28 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
python文件操作相关知识点总结整理
Feb 22 Python
Python程序中设置HTTP代理
Nov 06 Python
100行python代码实现跳一跳辅助程序
Jan 15 Python
深入分析python中整型不会溢出问题
Jun 18 Python
Python3使用Matplotlib 绘制精美的数学函数图形
Apr 11 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
Python pexpect模块及shell脚本except原理解析
Aug 03 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
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
Python 文件管理实例详解
2015/11/10 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
班长岗位职责
2013/11/10 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
关于环保的建议书400字
2014/03/12 职场文书
治超工作实施方案
2014/05/04 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
大学生社会实践感想
2015/08/11 职场文书
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技