集合是易变(可改变)和无序聚集。集合set支持迭代,很像无值(或仅有键的)字典,用花括号表示{}。
 
1、集合的创建:
可以通过调用内建函数set()来创建,及向其传递一个迭代,该迭代的项目成为形成集合的成员。集合也可以由{...}、集合字面值和集合综合表达式语法来创建,尽管set()仍被用于创建空集合({}是空字典),并从存在的对象中构建集合。
#创建一个空集合
set()
#一个四个项目的集合:值为's','p','a','m'(接受任何迭代)

 s = set('spam')
2、差操作:
新集合包含的项目在s1,不在s2中

 s1 = {1,2,3,4}
s2 = {0,1,2,3}
p1 = s1.difference(s2)
print(p1)
>>>
{4}
3、并操作:新集合包含s1和s2中的项目,不出现重复项

 s1 = {1,2,3,4}
s2 = {0,1,2,3}
s3 = s1 | s2
print(s3)
>>>
{0, 1, 2, 3, 4}
4、交操作:新集合包含s1和s2两者共有的项目
 s1 = {1,2,3,4}
s2 = {0,1,2,3}
s3 = s1 & s2
print(s3)
>>>
{1, 2, 3}
5、添加、修改、删除操作
s.add(x) , s.remove(x) , s.discard(x) , s.pop() , s.clear()
添加一个项目;根据值删除一个项目;删除一个存在的项目;删除返回一个随机项目;删除所有项目
6、复制
s.copy
构建s的顶层(表层)复制。该功能与set(s)相同。
7、子集操作
 s1 = {1, 2, 3, 4}
s2 = {1, 2, 3}
i1 = s2.issubset(s1) #判断s2是否是s1的子集
print(i1)
>>>
True
8、超子集操作
 s1 = {1, 2, 3, 4}
s2 = {1, 2, 3}
i2 = s1.issuperset(s2) #判断s1是否包含是s2
print(i2)
>>>
True
9、对称差操作:新集合包含除了s1和s2交集外的元素
 s1 = {1, 2, 3, 4}
s2 = {0, 1, 2, 3}
s3 = s1.symmetric_difference(s2)
print(s3)
>>>
{0, 4}
10、更新:将s2的集合添加到s1中,相当于并操作
 s1 = {1, 2, 3, 4}
s2 = {0, 1, 2, 3}
s1.update(s2)
print(s1)
>>>
{0, 1, 2, 3, 4}

4、集合set的功能介绍的更多相关文章

  1. fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)

    fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...

  2. HBase的Snapshots功能介绍

    HBase的Snapshots功能介绍 hbase的snapshot功能还是挺有用的,本文翻译自cloudera的一篇博客,希望对想了解snapshot 的朋友有点作用,如果翻译得不好的地方,请查看原 ...

  3. Python中模块之copy的功能介绍

    模块之copy的功能介绍 copy主要分两种: 1.浅拷贝 2.深拷贝 赋值: 在python中赋值算特殊的拷贝,其实赋值可以理解为同一个对象有两个名字,所以当其中一个发生变化,另一个也跟着会变化. ...

  4. Python中def及lambda的功能介绍

    函数def及lambda的功能介绍 1. def函数的功能介绍 1. 函数的参数 无参数函数 格式:def func_name(): '''__doc__'''#函数的说明文档(内容) express ...

  5. Python中set的功能介绍

    Set的功能介绍 1.集合的两种函数(方法) 1. 集合的内置函数 交集 格式:x.__and__(y)等同于x&y 例如:s1 = {'a',1,} s2 = {'b',1,} s3 = { ...

  6. Python中dict的功能介绍

    Dict的功能介绍 1. 字典的两种函数(方法) 1. 字典的内置函数 包含关系 格式:x.__contains__(key)等同于key in x 例如:dic = {'ab':23,'cd':34 ...

  7. Liferay-Activiti 功能介绍 (新版Liferay7基本特性)

    一句话简介 Liferay是世界领先的开源企业门户(也可作为综合门户),是最强大(没有之一)的JAVA开源门户,在Gartner和Forrester和评价非常高,近几年已经超越了微软门户Sharepo ...

  8. Oracle EBS WMS功能介绍(二)

    Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1.      打包.能够进 ...

  9. OpenSearch最新功能介绍

    摘要:阿里云开放搜索(OpenSearch)是一款结构化数据搜索托管服务,其能够提供简单.高效.稳定.低成本和可扩展的搜索解决方案.OpenSearch以平台服务化的形式,将专业搜索技术简单化.低门槛 ...

随机推荐

  1. SQL Serever学习10——T-SQL语句

    在sqlserver2018中使用的是Transact-SQL语言,简称T-SQL. 数据库的创建和管理 数据定义语言DDL DDL功能包括数据库,表,索引,视图,存储过程 数据库:CREATE DA ...

  2. jQuery 判断元素上是否绑定了事件

    我研究了一下之后发现,jQuery都将事件缓存起来了,其实也是为了防止内存溢出以及页面unload的时候的速度,也包括多函数触发,方便管理等诸多好处,具体可以参考此文. jQuery会在window. ...

  3. Best MVC Practices 最佳的MVC实践

    Although Model-View-Controller (MVC) is known by nearly every Web developer, how to properly use MVC ...

  4. DButils分析

    package com.ldf.utils; import java.sql.Connection; public class DBUtils { private static String driv ...

  5. aabb问题

    输出所有aabb型的完全平方数 这个问题主要是提供一个判断完全平方的思路,就是用floor函数 #include <iostream> #include <string> #i ...

  6. python 实现websocket

    python中websocket需要我们自己实现握手代码,流程是这样:服务端启动websocket服务,并监听.当客户端连接过来时,(需要我们自己实现)服务端就接收客户端的请求数据,拿到请求头,根据请 ...

  7. 工厂方法模式(GOF23)

    耦合关系直接决定着软件面对变化时的行为 主要对模块之间的关系进行整理,依赖关系倒置(依赖反转),变化快的东西不能影响到变化慢的东西 用封装机制来隔离易变的对象,抽象部分(不易变)和细节部分(可能容易变 ...

  8. 洛谷P4716 【模板】最小树形图(朱刘算法)

    题意 题目链接 Sol 朱刘算法?感觉又是一种神仙贪心算法 大概就是每次贪心的用每个点边权最小的入边更新答案,如果不行的话就缩起来找其他的边 不详细说了,丢链接走人.. #include<bit ...

  9. Oracle 通过出生日期计算年龄

    方法一: SELECT TRUNC(months_between(sysdate, birth)/12) AS age from mytable 方法二: select TRUNC((to_char( ...

  10. python迭代器 生成器 三元运算 列表解析

    1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...