集合是易变(可改变)和无序聚集。集合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. 使用 csc.exe 编译C#代码

    csc.exe是C#的编译器,可以将C#代码编译为IL中间语言代码(exe.dll),然后再通过.net framework中的clr内的JIT(即时编译器)将中间语言代码编译为机器语言,然后再由机器 ...

  2. array(1) { [0]=> int(5) }和array(1) { [0]=> string(1) "5" }

    php array数组: $arrayValue = array(5); $arrayValue = array('5'); 的不同之处 一个是整型一个是字符串型 array(1) { [0]=> ...

  3. spring mybatis 关于 basepackage 和 mapperLocations 的通配符匹配实例

    SqlSessionFactoryBean mapperLocations 注意下面几点 classpath* mapperLocation 起始路径不能有 * ,如 dm* 就不行 ** list ...

  4. Jquery中动态生成的元素没有点击事件或者只有一次点击事件

    今天用jq做动态生成的元素的click事件时,click只执行了一次,当然有些朋友可能根本没执行, 执行了一次的原因是因为可能有函数加载了一遍,一次都没执行的可能是没绑定对象或者jq版本问题, 动态生 ...

  5. axios使用初涉

    看vue的时候,vue2.0推荐使用axios做http请求,今天就学一下axios基本使用. 安装 axios 推荐npm方法(npm是node.js环境下的包管理器): npm install a ...

  6. MySQL基础操作&&常用的SQL技巧&&SQL语句优化

    基础操作     一:MySQL基础操作         1:MySQL表复制             复制表结构 + 复制表数据             create table t3 like t ...

  7. Creating dynamic/configurable parameterized queries in Entity Framework

    https://dillieodigital.wordpress.com/2013/05/09/creating-dynamicconfigurable-parameterized-queries-i ...

  8. MySQL允许root远程访问

    1. mysql -u root -p;     // 登录mysql, 并输入密码 2. use mysql;             // 打开 mysql 数据库 3. update user ...

  9. svn提示out of date的解决方法

    步骤1. team–>update 步骤2. team–>Show Tree Conflict–>标记"冲突已解决" 步骤3. team–>commit

  10. Android设备网络压力测试

    网络测试的几个维度: 网络的性能 带宽:通过TCP测试来量度 时延:用ping命令量度 数据报丢失:用Iperf UDP测试来量度 Jitter(延时变化):用Iperf UDP测试来量度 信号强度( ...