一、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. C#Aspose操作Word & Excel简版(后会研究补充更多功能)

    利用Aspose操作Word & Excel首先要在项目中标引用Aspose.Words.dll和Aspose.Cells.dll. 首先说一说向Word中写入数据,目前做的是向Word中的标 ...

  2. 用css去除chrome、safari等webikt内核浏览器对控件默认样式

    有这么一个webkit的私有属性: -webkit-appearance:none; /*去除input默认样式*/ 添加该样式,并且值为'none'时即可取消浏览器对于控件的默认样式. 另外这个属性 ...

  3. 16.1-Jenkins持续集成01—Jenkins服务搭建和部署

    分类: Linux架构篇   一.介绍Jenkins 1.Jenkins概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何 ...

  4. 初学python来进行odoo12版本开发

    这是我的第一篇博客.请多多指教! 首先要下载odoo-12的源代码 官方下载路径:          https://github.com/odoo/odoo/archive/12.0.zip 随便新 ...

  5. Git-Git初始化

    创建版本库及第一次提交 通过如下操作来查看一下您的Git版本. $ git --version git version 1.7.4 在开始 Git 之旅之前,我们需要设置一下 Git 的配置变量,这是 ...

  6. 小米r3g旧版开发版固件,安装opkg

    1.开启ssh 1.1.刷入固件 在路由器更新界面,刷入 miwifi_r3g_firmware_c2175_2.25.122.bin 固件 下载地址: http://bigota.miwifi.co ...

  7. mybatis特殊字符处理

    在mybatis 的mapper.xml文件中特殊字符处理方式  仅供参考 出处:http://yaobenzhang.blog.163.com/blog/static/214395113201561 ...

  8. 项目中的小点_java项目某jsp页面报404

    1.将项目文件夹直接放在tomcat服务器的webapps路径下 2.从一个tomcat服务器webapps下拷贝一个项目到另一个tomcat服务器webapps路径下 3.重启tomcat后,访问新 ...

  9. luogu2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold

    ref #include <iostream> #include <cstring> #include <cstdio> using namespace std; ...

  10. 微信公众开发api接口

      简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器 ...