集合推导
本菜鸡算是看出点门道来了:序列的数据类型用「推导」来新建,似乎是成了一种惯例。
当然,集合作为一个比较年轻的概念,集合的推导就更新鲜一点,它在Python2.7中才正式出现,我们还是来看简单的小例子:
集合推导
我的PyCharm到期了……懒得弄,所以今天的代码只能用终端来敲,说起来,我都不敢相信自己已经下载PyCharm有一年,现在还没怎么用……
图中的第一行是从unicodedata模块里导入了一个name函数,基本作用是获取字符的名字,第二行的推导具体进程是吧unicode编码在32~255之间所有字符名字里有SIGN的都挑出来放在一个集合里。
集合论——数学与Python的对应关系
作为一种“实验室语言”,无论是前面我们写的矩阵数据类型还是现在写的集合论,都是和数学联系非常紧密的东西,交并补三种方法在A部分已经写过,那些是两个集合的相互关系,得到的结果是一个新的集合,还有一些判断性的,返回值是T或F,我们一并写一写:
数学 | Python |
---|---|
Set1∩Set2 | Set1&Set2 |
Set1∪Set2 | Set1ISet2 |
Set1\Set2 | Set1-Set2 |
a∈Set | a in Set |
Set1⊆Set2 | Set1 <= Set2 |
Set1⊊Set2 | Set1 < Set2 |
Markdown里面不能有|
,所以用I
代替的。
集合与数学关系不大的操作
方法 | set | frozenset | 内涵 |
---|---|---|---|
Set1.add(sep) |
✔︎ | sep加入到Set1中 | |
Set1.clear() |
✔︎ | 清空Set1 | |
Set1.copy() |
✔︎ | ✔︎ | 复制一个Set1 |
Set1.discard(sep) |
✔︎ | Set1中找sep,能找到就删掉它 | |
Set1.pop() |
✔︎ | Set1弹出一个元素 | |
Set1.remove(sep) |
✔︎ | Set1中移除sep元素 |
注意:pop()和remove()如果没有元素,就会抛出异常,所以不确定空不空的时候记得要检查一下。
网友评论