# 集合是由 { ,} 组成
test = {1,2,8,9,7,5}
print(test) {1, 2, 5, 7, 8, 9}
# 集合的结果是 去重的,且排序是 无序的
test = {1,2,3,3,5,8,5,9,7,6}
print(test) {1, 2, 3, 5, 6, 7, 8, 9}
s = set('hello')
print(s) {'l', 'o', 'h', 'e'}
# add()添加
test = {1,2,3,8,5,9,7,6}
test.add(16)
print(test) {1, 2, 3, 5, 6, 7, 8, 9, 16}
# .clear()清空
test = {1,2,3,8,5,9,7,6}
test.clear()
print(test) set()
# .copy() 复制
test = {1,2,3,8,5,9,7,6}
s =test.copy()
print(s) {1, 2, 3, 5, 6, 7, 8, 9}
 # .pop() 随机删除
test = {'abc',10,2,3,8,5,9,7,6}
test.pop()
print(test) {3, 5, 6, 7, 8, 9, 10, 'abc'}
# .remove() 指定删除(如果删除元素不存在会报错)
test = {'abc',10,2,3,8,5,9,7,6}
test.remove(10)
print(test) {2, 3, 5, 6, 7, 8, 9, 'abc'}
## .discard() 指定删除 (如果元素不存在,不会报错)
test = {'abc',10,2,3,8,5,9,7,6}
test.discard(888)
print(test) {2, 3, 5, 6, 7, 8, 9, 10, 'abc'}
# 求交集 intersection()  或者  &
testname = ['小马','小张','小李','小王']
lastname = ['小唐','小马','小付']
t_e = set(testname)
l_e = set(lastname)
print(t_e,l_e)
print(t_e.intersection(l_e))
print(t_e&l_e) {'小张', '小马', '小王', '小李'} {'小唐', '小马', '小付'}
{'小马'}
{'小马'}
# 求并集 union()  或者  |
testname = ['小马','小张','小李','小王']
lastname = ['小唐','小马','小付']
t_e = set(testname)
l_e = set(lastname)
print(t_e,l_e)
print(t_e.union(l_e))
print(t_e|l_e) {'小马', '小李', '小王', '小张'} {'小马', '小唐', '小付'}
{'小马', '小王', '小付', '小张', '小李', '小唐'}
{'小马', '小王', '小付', '小张', '小李', '小唐'}
#  求差集 difference()  或者 -
testname = ['小唐','小王','小马','小付']
lastname = ['小唐','小马','小付']
t_e = set(testname)
l_e = set(lastname)
print(t_e,l_e)
print(t_e.difference(l_e))
print(t_e-l_e) {'小马', '小唐', '小王', '小付'} {'小马', '小唐', '小付'}
{'小王'}
{'小王'}
print(l_e-t_e)

set()
# 求交补差集 symmetric_difference()  或者 ^
testname = ['小李','小王','小马','小付']
lastname = ['小唐','小马','小付']
t_e = set(testname)
l_e = set(lastname)
print(t_e,l_e)
print(t_e.symmetric_difference(l_e))
print(t_e^l_e) {'小马', '小王', '小李', '小付'} {'小马', '小付', '小唐'}
{'小唐', '小王', '小李'}
{'小唐', '小王', '小李'}
# 差集更新 .difference_update()

testname = ['小唐','小王','小马','小付']
lastname = ['小唐','小马','小付']
t_e = set(testname)
l_e = set(lastname)
print(t_e,l_e)
t_e = t_e-l_e # 原始方法
print(t_e) t_e.difference_update(l_e) # 函数方法
print(t_e) {'小付', '小王', '小唐', '小马'} {'小付', '小唐', '小马'}
{'小王'}
{'小王'}
# .isdisjoint() 判断公有,有未False,没有为True
a = {1,2,3,8}
b = {2,4,6,9}
print(a.isdisjoint(b)) False a = {1,2,3,8}
b = {0,4,6,9}
print(a.isdisjoint(b)) True
# .issubset()  判断是否是子集
s1 = {1,2}
s2 = {1,2,3,4}
print(s1.issubset(s2)) #s1是s2的子集
print(s2.isdisjoint(s1)) # False True
False
# .issuperset() 判断是否是父集
s1 = {1,2}
s2 = {1,2,3,4}
print(s2.issuperset(s1)) #s2是s1的父集 True
#  .update() 更新   (可以更新多个值,列表、元祖都行) add只能更新一个值
s1 = {1,2}
s2 = {1,2,3,4}
s1.update(s2)
print(s1)
print(s1,s2) {1, 2, 3, 4}
{1, 2, 3, 4} {1, 2, 3, 4}
s1 = {1,2}
s2 = {1,2,3,4}
s1.update((6,8))
print(s1)
print(s1,s2) {8, 1, 2, 6}
{8, 1, 2, 6} {1, 2, 3, 4}
# frozenset() 改变成不可变集合
s = frozenset('hello')
print(s) frozenset({'l', 'e', 'o', 'h'})

# # 集合后的列表
test =['majun','xiaoma','xiaoma']
name = list(set(test))
print(name) ['majun', 'xiaoma']

# 集合变列表  无序
test = {'majun','xiaoma','zhangfei'}
name = list(test)
print(name) ['zhangfei', 'xiaoma', 'majun'] # 列表变集合 无序
test =['majun','xiaoma','zhangfei']
name = set(test)
print(name) {'zhangfei', 'xiaoma', 'majun'}

py-day2-4 python 集合的更多相关文章

  1. Python - 集合 - 第十一天

    Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...

  2. Python集合的常用方法

    注释很详细 collection={,,"apple","orange","cat"} # 查看一个数是否在集合中 in print(&qu ...

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

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

  4. [转]python集合set

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

  5. Ghost.py 0.1b3 : Python Package Index

    Ghost.py 0.1b3 : Python Package Index Ghost.py 0.1b3 Download Ghost.py-0.1b3.tar.gz Webkit based web ...

  6. python集合使用范例的代码

    在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...

  7. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  8. Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途

    生成一个临时文件 python manage.py makemigrations 这时其实是在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_ini ...

  9. Python 集合内置函数大全(非常全!)

    Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s ...

  10. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

随机推荐

  1. 环境准备—之—linux下安装jdk

    本文大部分转自  https://www.cnblogs.com/Dylansuns/p/6974272.html openjdk与jdk的区别 ----反正不一样,要不名字也不会不相同了 https ...

  2. HTTP协议(二)之确保web安全的HTTPS

    一.概述 https并非是应用层的一种新协议.只是HTTP通信接口部分用SSL和TLS协议替代. 通常,HTTP直接和TCP通信.当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了. 简 ...

  3. 解决安卓UI刷新卡屏,只显示最后一处刷新的问题

    ---恢复内容开始--- 错误1 安卓的机制决定了只有UI线程(也就是主线程)才能更新UI界面 否则会导致UI界面混乱的问题 这就说明了在new Thread中直接showImage是会报“出现非主线 ...

  4. volatile关键字的作用

    引言:以前只是看过介绍volatile的文章,对其的理解也只是停留在理论的层面上,由于最近在项目当中用到了关于并发方面的技术,所以下定决心深入研究一下java并发方面的知识.网上关于volatile的 ...

  5. 一天一点Zynq(1)xilinx-arm-linux交叉编译链 安装总结以及资源更新

    结束了对xilinx-arm-linux交叉编译链安装后,总结一下整个过程,方便后来的研究者们,少走点弯路. 关于xilinx-arm-linux交叉编译链的安装,网上一搜一大把,可是有的资料中的资源 ...

  6. SpringCloud注册中心环境搭建euraka

  7. 解决table宽度设置不起作用,由于内容问题被撑开 亲测 完美解决

    1.在table 标签添加样式 table-layout: fixed; 必须设置width的值:<table style="table-layout: fixed"> ...

  8. 经典的Foo和getName

    搜了下经典的Foo和getName的题目,看了几个解释,懒得看,自己解一下,作为笔记. function Foo(){ getName = function(){ console.log(1); }; ...

  9. HTTP,RFC自学心得

    HTTP协议描述的是:发送方与接收方的通信协议,通过两方的自觉遵守而存在,当然有不少的浏览器并没有百分百遵守这份协议. HTTP是运行于应用层的协议,基于TCP协议而运作.基本上是客户/服务器对答模式 ...

  10. js 异常判断

    /** * 预处理response * @param rep */ function validateRep(rep) { try{ if(rep.status==false){ layer.open ...