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 基础学习教程
Feb 08 Python
用python删除java文件头上版权信息的方法
Jul 31 Python
Python调用命令行进度条的方法
May 05 Python
python连接字符串的方法小结
Jul 13 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
python获取代码运行时间的实例代码
Jun 11 Python
python3实现网络爬虫之BeautifulSoup使用详解
Dec 19 Python
Python中super函数用法实例分析
Mar 18 Python
Python简易版图书管理系统
Aug 12 Python
python 实现单通道转3通道
Dec 03 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 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文本操作类
2006/11/25 PHP
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
php自动加载机制的深入分析
2013/06/08 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
详解python调度框架APScheduler使用
2017/03/28 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python3离线安装Requests模块问题
2019/10/13 Python
tensorflow 变长序列存储实例
2020/01/20 Python
美国著名手表网站:Timepiece
2017/11/15 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
应聘收银员个人的求职信
2013/11/30 职场文书
学生生病请假条范文
2014/02/16 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang