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和C++求解方法
Aug 20 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
Python WXPY实现微信监控报警功能的代码
Oct 20 Python
用pandas按列合并两个文件的实例
Apr 12 Python
python实现类之间的方法互相调用
Apr 29 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
Python自动发送邮件的方法实例总结
Dec 08 Python
python3中eval函数用法使用简介
Aug 02 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
使用Python判断一个文件是否被占用的方法教程
Dec 16 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 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中常用字符串处理代码片段整理
2011/11/07 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
python黑魔法之参数传递
2016/02/12 Python
Django入门使用示例
2017/12/12 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
设置python3为默认python的方法
2018/10/31 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
护士业务学习心得体会
2016/01/25 职场文书
导游词之日本富士山
2020/01/06 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS