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. hibernate中的sql 1+n 问题

    ( 产生的原因:当一对多或多对多的映射关系下,当在一方添加或修改数据时,一方集合属性中的多方都要发生变化;先select语句,再update语句.当一方集合属性中的数据有很多时,对应的update语句 ...

  2. hdu3826-Squarefree number-(欧拉筛+唯一分解定理)

    Squarefree number Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  3. 手机端head部分

    <!doctype html> <html lang="zh"> <head> <meta charset="utf-8&quo ...

  4. 使用rtl8192du安装无线驱动步骤

    *************一.直接操作发********** 步骤:1.去Realtek官网下载无线网卡驱动下载地址:点击这里2.驱动在压缩包中的driver目录(也是一个压缩包),将其解压到/opt ...

  5. java中excel导入\导出工具类

    1.导入工具 package com.linrain.jcs.test; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import ...

  6. Android设置ScrollView回到顶部的三种方式 (转)

    一.ScrollView.scrollTo(0,0)  直接置顶,瞬间回到顶部,没有滚动过程,其中Y值可以设置为大于0的值,使Scrollview停在指定位置; 二.ScrollView.fullSc ...

  7. jquery mobile两个页面以及源码(登录与注册) 转

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  8. sqoop2 缺少 jackson-core-asl-1.8.8.jar 和 jackson-mapper-asl-1.8.8.jar 这两个jar包

    [root@spark2 client]# cat /var/log/sqoop2/localhost.2017-12-22.log 十二月 22, 2017 10:29:17 上午 org.apac ...

  9. 点击空白隐藏div

    window.onload = function(){ $(document).click(function(e){ $("#loginWrap").css('display',' ...

  10. CentOS 下搭建Hudson

    1.下载Hudson安装包 wget http://ftp.jaist.ac.jp/pub/eclipse/hudson/war/hudson-3.3.3.war 2.执行 java -jar hud ...