python_集合
>>> import random
>>> import time
>>> x=list(range(10000))
>>> y=set(range(10000))
>>> z=dict(zip(range(1000),range(10000)))
>>> r=random.randint(0,9999)
>>>
>>> start = time.time()
>>> for i in range(9999999):
r in y
>>> print('list,time used:',time.time()-start)
list,time used: 89.40382695198059
>>>
>>> start = time.time()
>>> for i in range(9999999):
r in z
>>> s={1,2,3}
>>> s.add(3)
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.update({3,4})
>>> s
{1, 2, 3, 4}
>>> s.discard(5)
>>> s
{1, 2, 3, 4}
>>>
>>>
>>> a_set=set([8,9,10,11,12,13])
>>> b_set={0,1,2,3,7,8}
>>> a_set | b_set
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
>>> a_set.union(b_set)
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
>>> a_set & b_set
{8}
>>> a_set.intersection(b_set)
{8}
>>> a_set.difference(b_set)
{9, 10, 11, 12, 13}
>>> b_set.difference(a_set)
{0, 1, 2, 3, 7}
>>> a_set-b_set
{9, 10, 11, 12, 13}
>>> a_set+b_set
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
>>> a_set ^ b_set
{0, 1, 2, 3, 7, 9, 10, 11, 12, 13}
>>> x={1,2,3}
>>> y={1,2,5}
>>> z={1,2,3,4}
>>> x<y
False
>>> x<z
True
>>> x.issubset(y)
False
>>> x.issubset(z)
True
>>> from enum import Enum
>>> class Color(Enum):
red=1
blue=2
green=3
>>> Color.red
<Color.red: 1>
>>> type(Color.red)
<enum 'Color'>
>>> isinstance(Color.red,Color)
True
>>> x=dict()
>>> x[Color.red]='red;'
>>> x
{<Color.red: 1>: 'red;'}
>>> Color(2)
<Color.blue: 2>
>>> Color['red']
<Color.red: 1>
>>> r=Color.red
>>> r.name
'red'
>>> r.value
1
>>> list(Color)
[<Color.red: 1>, <Color.blue: 2>, <Color.green: 3>]
>>>
>>>
>>> import random
>>> listRandom=[random.choice(range(10000)) for i in range(100)]
>>> noRepeat=[]
>>> for i in listRandom:
if i not in noRepeat:
noRepeat.append(i)
>>>
>>>
>>> newSet=set(listRandom)
>>> newSet
{1024, 3592, 8212, 1051, 3612, 5679, 2608, 8241, 1590, 6199, 4158, 4679, 3658, 596, 1628, 95, 3168, 5733, 3176, 1646, 2163, 5750, 4222, 5768, 7309, 6804, 8341, 8348, 3741, 1189, 1704, 1705, 2732, 7342, 693, 7351, 1208, 5831, 2249, 1229, 6863, 8912, 2776, 729, 5340, 736, 8937, 8427, 4851, 2294, 3830, 3852, 5904, 278, 7458, 2345, 2859, 2867, 307, 3381, 318, 5443, 3396, 1864, 859, 5472, 8032, 867, 4453, 1381, 8559, 5487, 6002, 6003, 4981, 6007, 6008, 3455, 2953, 1929, 9107, 7582, 9630, 4007, 432, 948, 1981, 5064, 9674, 4047, 464, 5074, 3029, 3031, 8664, 473, 2546, 5619, 9203}
>>> def RandomNumbers1(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):
data=set()
while True:
element=random.randint(start,end)
data.add(element)
if len(data)==number:
return data
>>> start=time.time()
>>> for i in range(1000):
d1=RandomNumbers1(500,1,10000)
>>> print('Time used:',time.time()-start)
Time used: 105.95552897453308
>>> start=time.time()
>>> for i in range(1000):
d2=RandomNumbers2(500,1,10000)
print('Time used:',time.time()-start)
>>> {str(x) for x in range(10)}
{'8', '9', '2', '4', '7', '0', '1', '5', '6', '3'}
python_集合的更多相关文章
- python_集合_笔记
集合 特性: a.确定性(元素必须可以hash) b.互异性(去重) c.无序性(集合中的元素没有先后之分) 集合关系测试 交集 & jihe1.intersection(jihe2) 差集 ...
- Python_重写集合
class Set(object): def __init__(self,data=None): if data == None: self.__data = [] else: if not hasa ...
- Python_数据类型的补充、集合set、深浅copy
1.数据类型的补充 1.1 元组 当元组里面只有一个元素且没有逗号时,则该数据的数据类型与括号里面的元素相同. tu1 = ('laonanhai') tu2 = ('laonanhai') prin ...
- python_列表、元组、字典、集合对比
列表.元组.字典.集合 列表.元组.字典.集合对比 比较项 列表 元组 字典 集合 类型名称 list tuple dict set 定界符 [] () {} {} 是否可变 是 否 是 是 是否有序 ...
- Python_列表、字典、字符串、集合操作
一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.对于list的操作,我们要学会增删改查. 查 我们可以直接索引查找,也可以通过切片 ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- Python_爬虫笔记_2018.3.19
Python_爬虫_笔记 1.前言 1.1爬虫用途: 网站采集.接口采集(地图(jis 热力学 屋里端口/协议).微信.知乎.) 1.2基本流程:网页下载(requests)+网页解析+爬虫调度 网页 ...
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- .Net多线程编程—并发集合
并发集合 1 为什么使用并发集合? 原因主要有以下几点: System.Collections和System.Collections.Generic名称空间中所提供的经典列表.集合和数组都不是线程安全 ...
随机推荐
- Android 利用WebViewJavascriptBridge 实现js和java的交互(一)
此文出自:http://blog.csdn.net/sk719887916/article/details/47189607,skay 按安卓开发目前现状来说,开发者大部分时间还是花在UI的屏幕适配上 ...
- 在多台PC上进行ROS通讯-学习笔记
首先,致谢易科(ExBot)和ROSWiki中文社区. 重要参考文献: Running ROS across multiple machines http://wiki.ros.org/ROS/Tut ...
- 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
1.下载Nginx,进入Nginx下载地址:http://nginx.org/ 点击nginx-1.8.0,进入:http://nginx.org/en/download.html,下载文件: ...
- 集群通信组件tribes之使用方法
上面已经对tribes的内部实现机制及原理进行了深入的剖析,在理解它的设计原理后看看如何使用tribes,整个使用相当简单便捷,只需要四步: ① 定义一个消息对象,由于这个消息对象是要在网络之间传递的 ...
- 【一天一道LeetCode】#15 3Sum
一天一道LeetCode系列 (一)题目 Given an array S of n integers, are there elements a, b, c in S such that a + b ...
- C 打印格式小记
转自:http://blog.csdn.net/fivedoumi/article/details/7077504 d,lx,ld,,lu,这几个都是输出32位的 hd,hx,hu,这几个都是输出16 ...
- 安卓打开File Explorer里面不显示内容
其实这不算是开发问题,是自己对这个文件的内容不了解罢了.这个文件的内容与手机是直接相关系的.只有打开模拟器才可以查看里面的内容. 打开模拟器,里面的文件一览无余.因为自己遇到了问题,还有些惊慌,但真实 ...
- cocos2D v3.x 中action的回调block变化
cocos2D v2.x中有带参数的回调block: id blk = [CCCallBlockN actionWithBlock:^(CCNode *node){ node.position = o ...
- 【LaTeX排版】LaTeX使用--入门基础<二>
1.在命令之后留一个空格有下列方式: 源文件如下: \documentclass[a4paper,12pt]{book}%采用book类型(中篇论文一般采用这种类型),A4纸,字体为12磅,默认为10 ...
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
图像分割之(四)OpenCV的GrabCut函数使用和源码解读 分类: 图像处理 计算机视觉 2013-01-23 ...