《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. 0.0C语言重点问题回顾

    左值和右值得区别:左值是用来表明变量的身份的,右值更加侧重于值本身: void*是个例外,它只有基地址没有类型信息,所以无法解引用. int *p = malloc(100); char *s = m ...

  2. 命令行bash的基础操作

    刚进入系统在光标前面会显示这样一串字符[root@centeros ~]# root表示当前的登录用户可以通过id命令查看 centeros表当前的主机名可以通过hostname查看 ~表示当前用户的 ...

  3. 跨域的iframe自动调整高度(cross-domain iframe resizer)

    可以使用iframe-resizer项目地址: http://davidjbradshaw.github.io/iframe-resizer/演示地址: http://davidjbradshaw.c ...

  4. mysql 数据库查询与实例。

    资料是从教材弄下来的,加上了我的理解.主要内容是练习实例,在写博文中学习命令行,当然也希望这篇博文能帮助其他人学习mysq数据库命令 SELECT 语句可以从一个或多个表中选取特定的行和列 SELEC ...

  5. JS中 submit提交与Form表单里的onsubmit的调用问题?

    最近在开发中遇到了表单提交前验证的问题,用一个普通的button按钮代替submit按钮,在提交前触发这个button的onclick事件,在其事件中触发form的submit事件.问题出现了: &l ...

  6. Js点餐加减数量

    <button class="add-on" onclick="chgNum(1,'del')" ><i class="icon-m ...

  7. jquery 操纵 cookies 插件(1)

    当你浏览某网站时,你硬盘上会生产一个非常小的文本文件,它可以记录你的用户ID.密码.浏览过的网页.停留的时间等信息. 当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应 ...

  8. 反射-b

    Class pkClass=NSClassFromString(@"PKAddPassesViewController");    if (pkClass) {        NS ...

  9. SPSS时间序列分析

    时间序列分析必须建立在预处理的基础上…… 今天看了一条新闻体会到了网络日志的重要性…… 指数平滑法(Exponential Smoothing,ES)是布朗(Robert G..Brown)所提出,布 ...

  10. VC的UNICODE 编程

    简介 如果你编写的程序是针对非英语国家的用户,如中国.日本.东欧和中东地区,那么你一定要熟悉 UNICODE 字符集.尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果 ...