>>> 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. ARM v7汇编与相关练习

    程序入口: _startc 语言入口: main@:              注释;main:           标签;伪指令:         给汇编器读的指令;.global main    ...

  2. cas 单点登录(SSO)实验之二: cas-client

    cas 单点登录(SSO)实验之二: cas-client 参考文章: http://my.oschina.net/indestiny/blog/200768#comments http://wenk ...

  3. some phrase for oral english

    依我看,在我看来 I suppose that, ... As far as i'm concerned, ... As i see it, ... It seems to me that ... 1 ...

  4. IntelliJ Idea + Maven + Junit

    Caculate.java package com.yxj.TestJunit; /** * Created by ubd on 15-4-17. */ public class Caculate { ...

  5. JavaScript进阶(八)JS实现图片预览并导入服务器功能

    JS实现导入文件功能       赠人玫瑰,手留余香.若您感觉此篇博文对您有用,请花费2秒时间点个赞,您的鼓励是我不断前进的动力,共勉!(PS:此篇博文是自己在午饭时间所写,为此没吃午饭,这就是程序猿 ...

  6. RHEL6安装python包tornado

    RHEL6安装python包tornado tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,最早由Friendfeed开发.通过使用非阻塞IO,Tornad ...

  7. 【翻译】提示18——如何决定ObjectContext的生命周期

    原文地址:http://blogs.msdn.com/b/alexj/archive/2009/05/07/tip-18-how-to-decide-on-a-lifetime-for-your-ob ...

  8. 《java入门第一季》之二维数组

    /* 格式2: 数据类型[][] 数组名 = new 数据类型[m][]; m:表示这个二维数组有多少个一维数组. 列数没有给出,可以动态的给.这一次是一个变化的列数. */ class Array2 ...

  9. android Material Design详解

    原文地址:http://blog.csdn.net/jdsjlzx/article/details/41441083/ 前言 我们都知道Marterial Design是Google推出的全新UI设计 ...

  10. warning: implicit declaration of function 'getMyfilename' [-Wimplicit-function-declaration]|

    我在main后面定义了getMyfilename()函数,然后就报出这个warning. 在main前声明一下就好了.