python集合常见运算案例解析

 更新时间:2019年10月17日 11:34:33   作者:eacxzm  
这篇文章主要介绍了python集合常见运算,结合具体实例形式分析了Python使用集合生成随机数的几种常用算法的效率比较,需要的朋友可以参考下

本文实例讲述了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方法

PS:这里再提供几款相关工具供大家参考使用:

在线随机数生成工具:
http://tools.jb51.net/aideddesign/rnd_num

在线随机生成个人信息数据工具:
http://tools.jb51.net/aideddesign/rnd_userinfo

在线随机字符/随机密码生成工具:
http://tools.jb51.net/aideddesign/rnd_password

在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • opencv 分类白天与夜景视频的方法

    opencv 分类白天与夜景视频的方法

    最近有个数据需要分类处理,是一批含有白天跟夜晚的视频数据,需要进行区分开来,本文就来实现,感兴趣的可以了解一下
    2021-06-06
  • 超全面python常见报错以及解决方案梳理必收藏

    超全面python常见报错以及解决方案梳理必收藏

    使用python难免会出现各种各样的报错,以下是Python常见的报错以及解决方法(持续更新),快进入收藏吃灰吧
    2022-03-03
  • python库TextDistance量化文本之间的相似度算法探究

    python库TextDistance量化文本之间的相似度算法探究

    这篇文章主要为大家介绍了python库TextDistance量化文本之间的相似度算法探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Pycharm导包失败问题及解决

    Pycharm导包失败问题及解决

    这篇文章主要介绍了Pycharm导包失败问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python实现媒体播放器功能

    python实现媒体播放器功能

    这篇文章主要为大家详细介绍了python实现媒体播放器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 浅析Python中的多条件排序实现

    浅析Python中的多条件排序实现

    Python中使用sort方法和sorted函数排序时关键就在于key参数值的编写技巧,这里我们来举两个实例浅析Python中的多条件排序实现:
    2016-06-06
  • 详解python3实现的web端json通信协议

    详解python3实现的web端json通信协议

    本篇文章主要介绍了python3实现的web端json通信协议,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • Python图片处理之图片裁剪教程

    Python图片处理之图片裁剪教程

    这篇博文的目的是从图片中提取一定的矩形区域作为新的图片 简单来说:我的全家福丢了,所以我想从以前的房间照片里,提取出其中的全家福并重新打印一张(忽视画质问题)现在我就是这么个目的,需要的朋友可以参考下
    2021-05-05
  • Python基于opencv的图像压缩算法实例分析

    Python基于opencv的图像压缩算法实例分析

    这篇文章主要介绍了Python基于opencv的图像压缩算法,结合实例形式分析了使用opencv进行图像压缩的常用操作技巧与注意事项,需要的朋友可以参考下
    2018-05-05
  • 能让你轻松的实现自然语言处理的5个Python库

    能让你轻松的实现自然语言处理的5个Python库

    今天教大家如何你轻松的实现自然语言预处理,仅仅需要5个python库,文中介绍的非常详细,对正在学习python的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05

最新评论