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爬虫常用小技巧之设置代理IP
Sep 13 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
用Python PIL实现几个简单的图片特效
Jan 18 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
Python 硬币兑换问题
Jul 29 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
Python中的With语句的使用及原理
Jul 29 Python
python 基于opencv操作摄像头
Dec 24 Python
python os.listdir()乱码解决方案
Jan 31 Python
Python 可迭代对象 iterable的具体使用
Aug 07 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/04/09 欧美动漫
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
对python Tkinter Text的用法详解
2018/10/11 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
Python读取stdin方法实例
2019/05/24 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
利用Python实现kNN算法的代码
2019/08/16 Python
Python with标签使用方法解析
2020/01/17 Python
Python实现自动访问网页的例子
2020/02/21 Python
python爬取股票最新数据并用excel绘制树状图的示例
2021/03/01 Python
Yahoo-PHP面试题2
2014/12/06 面试题
求职者简历中的自我评价
2013/10/20 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
Python 如何安装Selenium
2021/05/06 Python
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
聊聊Python String型列表求最值的问题
2022/01/18 Python
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android