一、set集合
1、集合是一个无序不重复元素集,有去重的作用
set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。
(1)创建
s1=set('This is string') ([])
set1=set('python') 结果:set(['h', 'o', 'n', 'p', 't', 'y'])
s2=set([1,2,3])
s3=set((1,2,3,4,3,2)) set([1,2,3,4])
s4=set({1:2,2:3,6:6}) 字典只会把key值列表(相当于dict.keys()返回值)赋值给set set([1,2,6])
注意数值类型不能作为集合的参数,如int类型。
(2)添加元素
add() 把元素作为整体添加
update() 把元素中的子元素一个个添加
s2.add('abc') set([1,2,3,'abc'])
s2.update('abc') set(['a',1,2,3,'b','c'])
(3)删除元素
a、remove()
s2.remove('c') set (['a',1,2,3,'b'])
如果'c'不存在,会抛出异常
b、discard(value)
s2.discard(3)
c、pop()
s2.pop() 确保集合有元素,删除的元素不确定是哪个。如果为空引发KeyError错误
(4)遍历集合
for i in s2:
print i
(5)
枚举enumerate()
for index,elem in enumerate(2):
print index,':',elem
类型转化:
str(s2)
list(s2)
tuple(s2)
(6)清空集合
s1.clear()
(7)复制集合
s6=s2.copy()
(8)结合的长度
len(s2)
 
2、集合的特殊操作
(1)交集、并集、差集
s1=set([1,2,3])
s2=set([2,3,4,5])
s3=s1 & s2 交集 set([2,3])
s4=s1 | s2 并集 set([1,2,3,4,5])
s5=s1-s2 差集 在s1中但不在s2中 set([1])
s6=s1.difference(s2) s6的结果 set([1]) 同s5
 
(2) > 、>= < <= !=
print s1>=s2
 
(3)
issupperset()父集
s11=set([1,2])
print s1.issupperset(s11) Ture s1是否为s11的父集
print s1.issupperset(s2) False
issubset() 子集
s1.issubset(s2) s1是否为s2的子集
 
(4)in 和not in 成员运算符
if s1 in s2:
3、不可变集合 frozenset()
fs=frozenset([1,2,3])
如果试图改变不可变集合中的元素,就会报AttributeError错误。

Python之数据结构:集合的更多相关文章

  1. (python)数据结构---集合

    一.描述 set翻译为集合 set是可变的.无序的.不可重复的 set的元素要求可哈西(不可变的数据类型可哈西,可变的数据类型不可哈希) set是无序的,因此不可以索引,也不可以修改 线型结构的查询时 ...

  2. python基本数据结构-集合-集合运算

  3. python基本数据结构-集合-方法

  4. Python基本数据结构-集合-创建/与其他类型比较

  5. (python数据分析)第03章 Python的数据结构、函数和文件

    本章讨论Python的内置功能,这些功能本书会用到很多.虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的. 我们会从Python最基础 ...

  6. Python的set集合详解

    Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),dif ...

  7. python的数据结构分类,以及数字的处理函数,类型判断

    python的数据结构分类: 数值型 int:python3中都是长整形,没有大小限制,受限内存区域的大小 float:只有双精度型 complex:实数和虚数部分都是浮点型,1+1.2J bool: ...

  8. Python 基本数据结构

    Python基本数据结构 数据结构:通俗点儿说,就是存储数据的容器.这里主要介绍Python的4种基本数据结构:列表.元组.字典.集合: 格式如下: 列表:list = [val1, val2, va ...

  9. 转 Python常见数据结构整理

    http://www.cnblogs.com/jeffwongishandsome/archive/2012/08/05/2623660.html Python常见数据结构整理 Python中常见的数 ...

  10. python 与数据结构

    在上面的文章中,我写了python中的一些特性,主要是简单为主,主要是因为一些其他复杂的东西可以通过简单的知识演变而来,比如装饰器还可以带参数,可以使用装饰类,在类中不同的方法中调用,不想写的太复杂, ...

随机推荐

  1. vbs自由选择启动bat文件

    1.首先创建一个文件夹用来放bat文件和配置文件. 2.然后在bat文件中写入启动程序.中间红色框是启动程序,外面程序是用来隐藏命令提示符的. 3.txt配置文件配置vbs启动项,vbs只能找到此文件 ...

  2. JS中的引用、浅拷贝和深拷贝

    js的深拷贝浅拷贝是很常遇到的问题,一直模模糊糊有点说不过去,所以这次好好总结一下. 1.js的引用 JS分为基础类型和引用类型两种数据类型: 基础类型:number.string.boolean.n ...

  3. nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument解决

    先附上错误信息: (myblog) root@Dapeng:/home/uwsgi# service nginx status ● nginx.service - A high performance ...

  4. MultipartFile 动态决定是否上传文件,解决不上传文件报错

    controller 接收参数   用 HttpServletRequest 代替 @RequestParam()  接收参数 picFile 前台 传文件的参数名字  ,   这样 前段 传 nul ...

  5. Django之视图和URL配置

    1.在创建项目时,Django会自动创建URL配置,在urls.py文件中 文件的默认内容如下所示: """mysite URL Configuration The ur ...

  6. 浅谈JavaScript字符串拼接

    本文给大家汇总介绍了几种javascript中字符串拼接的方法,十分的简单实用,有需要的小伙伴可以参考下. 在JavaScript中会经常遇到字符串拼接,但是如果要拼接的字符串过长就比较麻烦了. 如果 ...

  7. goaccess分析access.log

    接上一篇,开始学习goaccess使用~ 源码安装完成后,我的goaccess的配置文件goaccess.conf位于/usr/local/etc/ /usr/local/etc/goaccess/g ...

  8. mount: no medium found on /dev/sr0 找不到介质

    在VMware虚拟机中配置yum源时,执行 mount /dev/cdrom /mnt/cdrom 出现 mount: no medium found on /dev/sr0. 首先在/mnt 目录下 ...

  9. tcl之基本语法—3

  10. HDU - 6514 Monitor(二维差分)

    题意 给定一个\(n×m\)的矩阵.(\(n×m <= 1e7\)). \(p\)次操作,每次可以在这个矩阵中覆盖一个矩形. \(q\)次询问,每次问一个矩形区域中,是否所有的点都被覆盖. 解析 ...