python -集合
来源:互联网 发布:创维网络电视怎么样 编辑:程序博客网 时间:2024/06/13 23:26
集合的定义
集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
tuple算是list和str的杂合(杂交的都有自己的优势,上一节的末后已经显示了),那么set则可以堪称是list和dict的杂合.
set拥有类似dict的特点:可以用{}花括号来定义;其中的元素没有序列,也就是是非序列类型的数据;而且,set中的元素不可重复,这就类似dict的键.
set也有继承了一点list的特点:如可以原处修改(事实上是一种类别的set可以原处修改,另外一种不可以).
创建集合
集合的关系测试
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s3 = {1, 2}
s4 = {5}
print "s1,s2,s3的交集:", s1.intersection(s2, s3)
print "s1,s2,s3的交集:", s1 & s2 & s3
print "s1,s2,s3的并集:", s1.union(s2, s3)
print "s1,s2,s3的并集:", s1 | s2 | s3
print "s1-s2的差集:", s1.difference(s2)
print "s1-s2的差集:", s1 - s2
print "s1-s2-s3的差集:", s1.difference(s2, s3)
print "s1-s2-s3的差集:", s1 - s2 - s3
print "s2-s1的差集:", s2.difference(s1)
print "s1和s2的对等差分:", s1.symmetric_difference(s2)
print "s1和s2的对等差分:", s1 ^ s2
print "s2和s1的对等差分:", s2.symmetric_difference(s1)
# s.isdisjoint(s2) 如果有交集,返回False;否则,返回True;
print "s1和s4是否没有交集:", s1.isdisjoint(s4)
print "s3是否为s1的子集:", s3.issubset(s1)
print "s1是否为s3的父集:", s1.issuperset(s3)
集合的增加和删除
增加: s.add(1), s.update(s1)
删除:
s.remove(1), # 删除存在的元素,如果不存在,直接报错;
s.discard(1) # 删除存在的元素,如果不存在,do nothing;
s.pop(), # 随即删除集合元素,不加任何参数;
复制: s1 = s.copy() #s和s1的id不同
清空: s.clear()
冻集
冻住的集合,不能增删改;
frozenset(set)
set(frozenset)
- python 集合
- python集合
- python 集合
- [python]集合
- Python 集合
- Python 集合
- python集合
- Python集合
- Python--集合
- Python:集合
- Python 集合
- Python集合
- python集合
- python 集合
- python 集合
- Python 集合
- Python集合
- python-集合
- Double类型运算
- bzoj 3392: [Usaco2005 Feb]Part Acquisition 交易 最短路
- 287. Find the Duplicate Number
- Filter过滤器
- 【笔记+代码】背包问题
- python -集合
- Spring+SpringMVC整合----配置文件
- spark中 transformation和action介绍
- 数据挖掘之数据准备
- 搭建Linux内核开发环境
- 一款优雅的干货集中营android客户端、实现沉浸式状态栏
- springMVC跨域请求配置前置增强器
- mybatis(1)
- NKOJ 3544 回文数(数学)