1集合是一个无序的,不重复的数据组合,它的主要作用如下(set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key):

  去重,把一个列表变成集合,就自动去重了

  关系测试,测试两组数据之前的交集、差集、并集等关系

2(去重)

 # -*- coding:utf-8 -*-
s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
print(type(s))
print(s)

输出结果:

 <class 'set'>
{1, 2, 3, 4, 5, 'tin', 12, ('tj', 120)}

(关系测试)

交集:

 # -*- coding:utf-8 -*-
s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
#交集,把相同的元素取出来
print(s2.intersecti(s)) #或 print(s2 & s)

输出结果:

{4, 5}

并集

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,} #并集
print(s2.union(s)) #或 print(s2 | s)

输出结果:

{1, 2, 3, 4, 5, 6, 7, 8, ('tj', 120), 12, 'tin', 23, 123}

差集

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,} #差集
print(s2.difference(s)) # 或 print(s2-s)

输出结果:

{6, 7, 8, 23, 123}

对称差集

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
print(s2.symmetric_difference(s)) #或 print(s2 ^ s)

输入结果:

{1, 2, 3, 6, 7, 8, 12, 'tin', 23, ('tj', 120), 123}

随机删除元素:

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
print(s2.pop()) #pop 随机删除元素

输出结果:4

删除元素(可以任意删除一项):

 s2={123,23,4,5,6,7,8,}
s.remove(2)
print(s)

输出结果:

{1, 3, 4, 5, 'tin', 12, ('tj', 120)}

父集:

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
s.remove(2)
print(s)
print(s2.issuperset(s))

输出结果:

 {1, 3, 4, 5, 12, ('tj', 120), 'tin'}
False

子集:

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
s.remove(2)
print(s)
print(s2.issubset(s))

输出结果:

 {1, 3, 4, 5, 'tin', 12, ('tj', 120)}
False

对称并集:

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
s.remove(2)
print(s)
s2.difference_update(s)
print(s2)

输出结果:

 {'tin', 1, 3, 4, 5, ('tj', 120), 12}
{6, 7, 8, 23, 123}

添加元素:

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
s2.add(18)
print(s2)
s.add(21)
print(s)

输出结果:

 {4, 5, 6, 7, 8, 18, 23, 123}
{('tj', 120), 1, 2, 3, 4, 5, 12, 'tin', 21}

合并多项元素:

 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
s2={123,23,4,5,6,7,8,}
s.update(s2)
print(s)

输出结果:

{1, 2, 3, 4, 5, 6, 7, 8, 12, 23, 'tin', 123, ('tj', 120)}

关系测试# 或 print(s2-s)Python 集合的更多相关文章

  1. python集合类型

    集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...

  2. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  3. python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)

    一.元组转换 数字 tu = (1) tu1 = (1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: 1 <class 'int'>(1, ...

  4. python语言(二)列表、字典、集合、文件读写、关系测试

    1.列表 list   代码 s = '王宇建,苏红,邹存才...' # 列表 数字 list l = ['王宇建','苏红','邹存才'] # 一维数组 二维数组 三维数组 # 0 1 2 # 索引 ...

  5. Python 集合的各种操作 数学运算 关系操作 增删改查 生成式

    # 集合是无序的 是可变的 不能重复 允许数学运算 分散存储 # 创建# collegel = {'哲学','经济学','法学','教育学'}## # {'教育学', '经济学', '法学', '哲学 ...

  6. Python 集合(set)使用

    1.python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差 ...

  7. python 集合set

    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...

  8. python 集合相关操作

    集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集 ...

  9. python集合相关操作

    集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集 ...

随机推荐

  1. 第五次Scrum冲刺

    第五次Scrum冲刺 1.成员今日完成情况 队员 今日完成任务 刘佳 前端初步构建 李佳 后端设计初级阶段 周世元 数据设计 杨小妮 博客编写 许燕婷 管理团队当日及次日任务 陈水莲 测试矩阵用例设计 ...

  2. windows中 git 命令使用记录

    建议国内开发安装淘宝npm镜像cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 或者每次执行安装时 npm ins ...

  3. mysql 去除字符串中前后空格

     update  table  set  field = replace(replace(replace(field,char(9),''),char(10),''),char(13),''); 

  4. web自动化测试中接口测试学习笔记

    一.web基础 web是实现:客户端浏览器端<—————>服务端  交互的应用: web通常包含两部分:web客户端.web服务端:web客户端技术包含html.javascript.aj ...

  5. 用JS和JQ来获取子节点!

    用JS和JQ来获取子节点!   在JS中,如果通过document.getElementsByTagName来获取子元素有个弊端:它不单会获取符合要求的子元素,就连同孙元素也会获取.如果有特殊要求,那 ...

  6. 静态html返回

    在这篇文章中我们介绍后台路由的概念,后台的路由根据路径返回相应的内容, 首先我们建立一个服务器 let port = 3000 //监听端口let fs = require ('fs')//用来生成可 ...

  7. CircleImageView of Android

    [CircleImageView of Android] github上有一个开源的圆角图片项目.地址:https://github.com/hdodenhof/CircleImageView 使用分 ...

  8. oracle导入大sql文件

    最近遇到一个需要导入大SQL文件的问题,最先直接用SQL developer 导入大SQL文件,结果报IO Exception,只好采用sqlplus 导入,操作过程如下: sqlplus 用户名/密 ...

  9. django admin后台显示中文

    在settings中设置 LANGUAGE_CODE = ‘zh-Hans’

  10. JMeter学习(四)参数化(转载)

    转载自 http://www.cnblogs.com/yangxia-test JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入 ...