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. 基于Java SE集合的图书管理系统

    图书管理系统一.需求说明1.功能:登录,注册,忘记密码,管理员管理,图书管理.2.管理员管理:管理员的增删改查.3.图书管理:图书的增删改查.4.管理员属性包括:id,姓名,性别,年龄,家庭住址,手机 ...

  2. C# Winform添加全局快捷键(老板键)

    using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.W ...

  3. Monkey测试结果分析【转】

    转自[http://www.douban.com/note/257030241/] Monkey测试结果分析 一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是 ...

  4. Bad owner or permissions on .ssh/config的解决

    出处:http://blog.csdn.net/notzuonotdied/article/details/69668519 在.ssh目录,执行以下命令行: sudo chmod 600 confi ...

  5. JAVA语言 第六周

    时间太快了,过几天就要去学校了.在家里学习不下去,一点不心静.学习也不如刚放假的时候了. 活在被开学支配的恐惧下,每天看一会儿视频(书是真的难看下去). 效果不明显,这个暑假已经被拉开差距 了.提前几 ...

  6. idea 这样 会快点

    最近使用IDEA来开发JAVA应用,对IDEA的界面很有爱,但是缺受不了它的运行速度.每次运行都要编译,所以就有了这边文章   总感觉IDEA的编译速度比eclipse慢,eclipse每次保存都自动 ...

  7. CSS样式表的写作规范

    推荐大家使用的CSS书写规范.顺序 写了这么久的CSS,但自己都没有按照良好的CSS书写规范来写CSS代码,东写一段西写一段,命名也是想到什么写什么,过一段时间自己都不知道写的是那一块内容, 这样会影 ...

  8. mongo副本集设置主库权重,永远为主

    mongo副本集设置主库权重,即使主库宕机了再重启也还是主库. cfg = rs.conf()     ------->(查看序列)cfg.members[0].priority = 1 (设置 ...

  9. JDBC事物的处理

    JDBC事物的处理: 概念:事务是指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction  开启事务 Rollback   ...

  10. AS不能真机调试 (转)

    经常遇到这种问题 现总结一下原因 打开手机的开发人员选项,允许USB调试 AS--->tools--->android-->Enable ADB Interation选项 勾上. A ...