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实例之wxpython中Frame使用方法
Jun 09 Python
python中尾递归用法实例详解
Apr 28 Python
Python实现求笛卡尔乘积的方法
Sep 16 Python
Python程序员面试题 你必须提前准备!
Jan 16 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
使用Python监视指定目录下文件变更的方法
Oct 15 Python
Python中的支持向量机SVM的使用(附实例代码)
Jun 26 Python
python3中的eval和exec的区别与联系
Oct 10 Python
Python:type、object、class与内置类型实例
Dec 25 Python
解决python3插入mysql时内容带有引号的问题
Mar 02 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 Python
python脚本框架webpy的url映射详解
Nov 20 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
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
PHP中的Memcache详解
2014/04/05 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
python机器学习实战之树回归详解
2017/12/20 Python
用python生成1000个txt文件的方法
2018/10/25 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
python调用私有属性的方法总结
2020/07/24 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
班组长岗位职责范本
2014/01/05 职场文书
英文演讲稿
2014/05/15 职场文书
2014年党支部承诺书
2014/05/30 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
婚前协议书标准版
2014/10/19 职场文书
学校标语口号大全
2015/12/26 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang