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之模块的加载
Oct 24 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
python按时间排序目录下的文件实现方法
Oct 17 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
Django组件content-type使用方法详解
Jul 19 Python
深入了解Django中间件及其方法
Jul 26 Python
.dcm格式文件软件读取及python处理详解
Jan 16 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
Python run()函数和start()函数的比较和差别介绍
May 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
php中opendir函数用法实例
2014/11/15 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
PHP处理会话函数大总结
2015/08/05 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
仿微博字符限制效果实现代码
2012/04/20 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
Python实现的几个常用排序算法实例
2014/06/16 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
自荐书格式
2013/12/01 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
毕业生评语大全
2015/01/04 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
Mysql事务索引知识汇总
2022/03/17 MySQL
介绍一下28个JS常用数组方法
2022/05/06 Javascript