《Python3程序开发指南》笔记。

python提供了2种内置的集合类型:可变的set类型、固定的frozenset类型。

只有可哈希运算的对象可添加到集合中。可哈希的数据类型:float、frozenset、int、str、tuple。不是可哈希的:dict、list、set

集合方法与操作符

s.add(x)  
s.clear()  
#s.copy() 返回集合 s 的浅拷贝
#s.difference(t) s-t 返回一个新集合,其中包含在s中但不在集合t中的数据项
s.difference_update(t) s-=t 移除每一个在集合t 但不在集合s中的项
s.discard(x)

如果数据项x在集合s中,就移除该数据项

参见:s.remove()

s.intersection(t) s&t 返回一个新集合,集合求交集
s.intersection_update(t) s&=t 使s包含s与t的交集
#s.isdisjoin(t) 如果s与t没有相同的项,就返回True
#s.issubset(t) s<=t

s是t的子集,返回True

s<t:真子集

#s.issuperset s>=t

s与t相同,或是t的超集,返回True

s>t:t为s的真子集

s.pop() 返回并移除s中的一个随机项,如果s为空集,产生KeyError异常
s.remove(x)

从s中移除x,如果s中不包含x,产生KeyError异常

参见:s.discard()

#s.symmetric_difference(t) s^t 返回一个新集合,其中包含s与t并集,但除去交集的数据项
s.symmetric_difference_update(t) s^=t  
#s.union(t) s|t 并集
s.update(t) s|=t  

集合内涵

两种语法格式:

[expression for item in iterable]

[expression for item in iterable if condition]

例如,files中的一个文件夹列表,( ⊙ o ⊙ )是的集合html只存放那些以.htm和.html结尾的文件名

>>> html={x for x in files if x.lower().endswith((".html",".htm"))}

固定集合---frozenset

固定集合支持的方法在上面的表中用@标明。

二元运算符应用于集合和固定集合时,得到的类型与左边操作数的数据类型一致,例如,f为固定集合,s为集合,f&s产生一个固定集合,s&f产生一个集合。

python集合set,frozenset--笔记的更多相关文章

  1. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...

  2. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  3. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  4. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  5. python集合类型

    集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...

  6. Python—集合的操作、文件的操作

    1.集合的操作 2.文件的操作 1.集合的操作 定义: 1.不同元素组成,自动去重 2.无序 3.集合中的元素必须是不可变类型 1.集合的定义: >>> s1 = set('abcd ...

  7. 《Python核心编程》笔记

    1 python是大小写敏感的 2 遍历一个字典的键值: for a in dict_obj.keys(): print a 3 列表解析功能可以让代码很简洁,比如:squared = [x ** 2 ...

  8. Python 集合内置函数大全(非常全!)

    Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s ...

  9. python数据分析入门学习笔记儿

    学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据 ...

  10. 从入门到自闭之Python集合,深浅拷贝(大坑)

    小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...

随机推荐

  1. 我的github代码添加

    1.创建一个新的repository: echo "# backupVim" >> README.md git init git add README.md git c ...

  2. C# windows窗体程序打包安装及卸载

    一.新建安装部署项目

  3. wxpython线程安全的方法

    wx中实现了3个线程安全的函数.如果在线程中,直接访问并更新主线程的UI,会遇到问题,有时候阻塞UI或者更新不起作用,有时严重的话会引起python崩溃. 三个安全线程如下: wx.PostEvent ...

  4. 【Git】Git教程

    http://www.liaoxuefeng.com/

  5. Info

    http://www.zhangchenghui.com/apple/1955.html http://www.36kr.com/p/133835.html http://news.163.com/1 ...

  6. GCC警告提示错误“cc1:all warnings being treated as errors”

    http://blog.csdn.net/zhangjs0322/article/details/25131787

  7. 【HDOJ】4884 TIANKENG's rice shop

    简单模拟,注意并不是完全按照FIFO的顺序.比如第i个人的id为k,那么就算第i+1人的id不为k,也会检查他后续的排队人是否有id为k的. #include <cstdio> #incl ...

  8. 设计模式(四):SIMPLE FACTORY简单工厂模式 -- 创建型模式

    1.定义 简单工厂模式又称静态工厂方法模式.重命名上就可以看出这个模式一定很简单.它存在的目的很简单:定义一个用于创建对象的接口. 2.适用场景 如果一个客户要一款宝马车,一般的做法是客户去创建一款宝 ...

  9. 【转】如何开启notepad++函数列表功能

    原文网址:http://jingyan.baidu.com/article/4b07be3c41e05e48b380f3f6.html Notepad++是window下特有的一款开源编辑器软件,相信 ...

  10. UVAlive11324 The Largest Clique(scc+dp)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=30726 [思路] 强连通分量+动归. 求scc后缩点,以scc中的 ...