>>> 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. jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能

     Ajax file upload plugin是一个功能强大的文件上传jQuery插件,可自定义链接.或其它元素庖代传统的file表单上传结果,可实现Ajax动态提示文件上传 过程,同时支撑多文 ...

  2. Linux0.11 中对地址的管理

    个字节,段信息无法直接存放在段寄存器中(段寄存器只有2字节).Intel的设计是段描述符集中存放在GDT或LDT中,而段寄存器存放的是段描述符在GDT或LDT内的索引值(index). Linux中逻 ...

  3. Using Integrated SOA Gateway in Oracle EBS

    FROM:http://blog.csdn.net/pan_tian/article/details/10159935 Oracle EBS如何与第三方系统相集成?比如这样的需求,X系统知道物料编码, ...

  4. C# Oracle数据库操作类实例详解

    本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长 ...

  5. 理解WebKit和Chromium: Chromium的多进程资源加载机制

    转载请注明原文地址:http://blog.csdn.net/milado_nju ##概述 前面介绍了WebKit中的资源加载机制,其实它只是一个框架性的东西,实际的资源加载依赖于各个WebKit移 ...

  6. 【Visual C++】游戏编程学习笔记之三:游戏循环的使用

     本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44208419 作者:Zee ...

  7. lambda表达式初步

    // Lambda_test20140801.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <algorithm& ...

  8. 解读Raft(三 安全性)

    前言 之前的两篇文章更多的是在描述Raft算法的正常流程,没有过多的去讨论异常场景. 而实际在分布式系统中,我们更多的都是在应对网络不可用.机器故障等异常场景,所以本篇来讨论一下Raft协议的安全性, ...

  9. Set对象常用操作方法和遍历

    Set<String> set = new HashSet<String>(); /** * set的常用操作方法有: * add()向集合添加元素 clear()清空集合元素 ...

  10. SpringBoot2.0之二 新建RESTfull风格项目

    1.新建一个Maven项目(具体方法可以参照 SpringBoot之一) 2.先建一个User类 package com.somta.springboot.pojo; public class Use ...