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 字典(Dictionary)操作详解
Mar 11 Python
gearman的安装启动及python API使用实例
Jul 08 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
Python入门教程之if语句的用法
May 14 Python
python实现简单购物商城
May 21 Python
Python中selenium实现文件上传所有方法整理总结
Apr 01 Python
Python 正则表达式实现计算器功能
Apr 29 Python
儿童python练习实例
May 27 Python
python实现静态服务器
Sep 05 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 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
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php中JSON的使用与转换
2015/01/14 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
Python 3.8 新功能全解
2019/07/25 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python 操作 MySQL数据库
2020/09/18 Python
Python高并发和多线程有什么关系
2020/11/14 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
python SOCKET编程基础入门
2021/02/27 Python
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
出国签证在职证明
2014/01/16 职场文书
优秀幼教自荐信
2014/02/03 职场文书
2014年库房工作总结
2014/11/26 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
离婚律师函范本
2015/05/27 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书