>>> 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_集合的更多相关文章

  1. python_集合_笔记

    集合 特性: a.确定性(元素必须可以hash) b.互异性(去重) c.无序性(集合中的元素没有先后之分) 集合关系测试 交集 & jihe1.intersection(jihe2) 差集 ...

  2. Python_重写集合

    class Set(object): def __init__(self,data=None): if data == None: self.__data = [] else: if not hasa ...

  3. Python_数据类型的补充、集合set、深浅copy

    1.数据类型的补充 1.1 元组 当元组里面只有一个元素且没有逗号时,则该数据的数据类型与括号里面的元素相同. tu1 = ('laonanhai') tu2 = ('laonanhai') prin ...

  4. python_列表、元组、字典、集合对比

    列表.元组.字典.集合 列表.元组.字典.集合对比 比较项 列表 元组 字典 集合 类型名称 list tuple dict set 定界符 [] () {} {} 是否可变 是 否 是 是 是否有序 ...

  5. Python_列表、字典、字符串、集合操作

    一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.对于list的操作,我们要学会增删改查. 查 我们可以直接索引查找,也可以通过切片 ...

  6. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  7. Python_爬虫笔记_2018.3.19

    Python_爬虫_笔记 1.前言 1.1爬虫用途: 网站采集.接口采集(地图(jis 热力学 屋里端口/协议).微信.知乎.) 1.2基本流程:网页下载(requests)+网页解析+爬虫调度 网页 ...

  8. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  9. .Net多线程编程—并发集合

    并发集合 1 为什么使用并发集合? 原因主要有以下几点: System.Collections和System.Collections.Generic名称空间中所提供的经典列表.集合和数组都不是线程安全 ...

随机推荐

  1. REHL5上安装salt-minion

    REHL5上安装salt-minion 本文适用于rhel5.4, 6.4, 7. 仅以el5.4为例. 1 在线安装方式极为简单: # wget --no-check-certificate -O ...

  2. 支持老版本IE的3种解决方案

    原文链接: 3 Solutions for Supporting Internet Explorer 翻译人员: 铁锚 翻译时间: 2014年2月14日 在刚发布的那几年,Internet Explo ...

  3. Java常见运算符整理

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/44724267 本文主要介绍Java中常见的运算符,重点介绍 ...

  4. /dev、/sys/dev 和/sys/devices 和udev的关系

    /dev,设备文件存储目录,应用程序通过对这些文件的读写和控制,可以访问实际的设备: /sys/devices目录,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备:是文件系统管理设备的最 ...

  5. 二分算法C实现

    #include <stdio.h> #include <stdlib.h> #define NR(x) (sizeof(x)/sizeof(x[0])) int Binary ...

  6. linu下C语言之BMP图片操作编程(上)

    BMP文件格式,也被称为位图图像文件或与设备无关的位图文件格式(DIB)或者只是一个位图,是 一个光栅图形 图像文件格式使用 来存储位图,数字,图片,独立的显示设备. 微软已经定义了一个特定的表示颜色 ...

  7. android 资源文字ids的作用

    ids.xml--为应用的相关资源提供唯一的资源id.id是为了获得xml中的对象而需要的参数,也就是Object = findViewById(R.id.id_name)中的id_name.这些值可 ...

  8. 图像处理程序框架—MFC相关知识点

    CDC:Windows使用与设备无关的图形设备环境(DC :Device Context) 进行显示 . MFC基础类库定义了设备环境对象类----CDC类. CDC与CGdiObject的关系 说道 ...

  9. 恶补web之二:css知识(1)

    css指层叠样式表(Cascading Style Sheets)     样式定义如何显示html元素,样式通常存储在样式表里.把样式添加到html4.0中,是为了解决内容与表现分离的问题.外部样式 ...

  10. JVM学习--(二)内存模型、可见性、指令重排序

    我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况. 内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再 ...