集合——set的定义:test = {1,2,3,4,5} 或 test = frozenset(1,2,3,4,5)

特点:1. 集合是可变数据类型

2. 集合中元素是无序的,可以是数字、字符串与元组等不可变数据类型

   3. 通过test = {1,2,3,4,5}方法定义的是可变集合;通过test = frozenset(1,2,3,4,5)方法定义的是不可变集合

1. 将指定元素添加到集合中

 test = {1,2,3,4,5}
test.add(8)
print(test) """
运行结果:{1, 2, 3, 4, 5, 8}
结果分析:将元素8添加到集合test中
"""

2. 拷贝集合中元素

 test = {1,2,3,4,5}
v = test.copy()
print(v) """
运行结果:{1, 2, 3, 4, 5}
结果分析:将集合test中所有元素拷贝并赋值给v
"""

3. 删除集合中指定元素;当该元素不存在时,返回错误信息

 test = {1,2,3,4,5}
test.remove(3)
print(test) """
运行结果:{1, 2, 4, 5}
结果分析:删除集合test中值为3的元素
"""

4. 删除集合中指定元素;当该元素不存在时,不做任何处理

 test = {1,2,3,4,5}
test.discard(3)
print(test)
print("--"*20) test.discard(8)
print(test)
"""
运行结果:
{1, 2, 4, 5}
----------------------------------------
{1, 2, 4, 5}
结果分析:
删除集合中值为3的元素;
由于集合中不存在值为8的元素,所以不做任何处理,集合中元素不变
"""

5. 随机删除并返回集合中某一元素

 test = {1,2,3,4,5}
v = test.pop()
print(test)
print(v) """
运行结果:
{2, 3, 4, 5}
1
结果分析:随机删除集合中某一元素,并将该元素值返回给变量v
"""

6. 清空集合中元素

 test = {1,2,3,4,5}
test.clear()
print(test) """
运行结果:set()
结果分析:清空集合中所有元素,得到一个空白集合
"""

7. 集合交运算

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.intersection(s2) #或test = s1 & s2
print(test) """
运行结果:{1, 3, 5}
结果分析:计算集合s1和s2的交集
"""

8. 集合并运算

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.union(s2) #或test = s1 | s2
print(test) """
运行结果:{1, 2, 3, 4, 5, 7, 9}
结果分析:计算集合s1和s2的并集
"""

9. 集合差运算

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.difference(s2) #或test = s1 - s2
print(test) """
运行结果:{2, 4}
结果分析:计算集合s1和s2的差集
"""

10. 集合交叉补集运算

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.symmetric_difference(s2) #或test = s1 ^ s2
print(test) """
运行结果:{2, 4, 7, 9}
结果分析:计算集合s1和s2的交叉补集(相当于从两集合的并集中减去两集合交集)
"""

11. 求集合交集,并将运算结果赋予源集合

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
s1.intersection_update(s2)
print(s1,s2) """
运行结果:{1, 3, 5} {1, 3, 5, 7, 9}
结果分析:计算集合s1和s2的交集,并将运算结果赋予集合s1,集合s2保持不变
"""

12. 求集合差集,并将运算结果赋予源集合

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
s1.difference_update(s2)
print(s1,s2) """
运行结果:{2, 4} {1, 3, 5, 7, 9}
结果分析:计算集合s1和s2的差集,并将运算结果赋予集合s1,集合s2保持不变
"""

13. 求集合交叉补集,并将运算结果赋予源集合

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
s1.symmetric_difference_update(s2)
print(s1,s2) """
运行结果:{2, 4, 7, 9} {1, 3, 5, 7, 9}
结果分析:计算集合s1和s2的交叉补集,并将运算结果赋予集合s1,集合s2保持不变
"""

14. 判断两集合是否存在交集

 s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
print(s1.isdisjoint(s2)) """
运行结果:False
结果分析:
若两集合不存在交集或其交集为空,则返回True
若两集合存在交集或其交集非空,则返回False
"""

15. 判断两集合是否满足s1<=s2

 s1 = {1,2,3,4,5}
s2 = {1,2,3,4,5,6,7,8,9}
print(s1.issubset(s2)) """
运行结果:True
结果分析:若两集合满足s1<=s2,即集合s1为s2的子集,则返回True;否则返回False
"""

16. 判断两集合是否满足s1>=s2

 s1 = {1,2,3,4,5,6,7,8,9}
s2 = {1,2,3,4,5}
print(s1.issuperset(s2)) """
运行结果:True
结果分析:若两集合满足s1>=s2,即集合s1为s2的"父"集,则返回True;否则返回False
"""

17. 更新集合元素

 s1 = {1,2,3,4,5,6,7,8,9}
s2 = {1,2,3,4,5}
s2.update(s1)
print(s2) """
运行结果:{1, 2, 3, 4, 5, 6, 7, 8, 9}
结果分析:将集合s1的各个元素更新到集合s2中,相当于s1=s2
"""

day02.5-集合内置方法的更多相关文章

  1. 元组/字典/集合内置方法+简单哈希表(day07整理)

    目录 二十三.元组内置方法 二十四.字典数据类型 二十五 集合内置方法 二十五.数据类型总结 二十六.深浅拷贝 补充:散列表(哈希表) 二十三.元组内置方法 什么是元组:只可取,不可更改的列表 作用: ...

  2. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

  3. day02.4-字典内置方法

    字典——dict的定义:test = {"k1":18,2:True,"k3":[11,22,("zi","zai")] ...

  4. day02.2-列表内置方法

    列表——list的定义:test = [1,12,9,"age",["zizai","jiapu"],"alex"] 特 ...

  5. python中的集合内置方法小结

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- #集合性质:需要传入一个list,且不含重复的元素,无序 list_1=[1,2,1,4,5,8,3,4 ...

  6. day02.3-元组内置方法

    元组——tuple的定义:test = (11,"alex",(22,33),[44,55],True) 特点:1. 元组是可迭代对象 2. 元组中元素是有序的,但其不可修改,也不 ...

  7. Python内置方法详解

    1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名. 可以查看所有的字符串的内置方法,如: 1> count ...

  8. Python-集合数据类型内置方法

    集合内置方法(必考) 用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序. 定义方式:{}内用逗号隔开多个元素,元素只能是不可变 ...

  9. Python 数据类型常用的内置方法(三)

    目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...

随机推荐

  1. java 蓝桥杯算法提高 字串统计

    思路:这道题用HashMap来保存枚举的字串,key值保存字串-value值保存字串所出现的次数:         通过for循环并使用subString()方法枚举所有符合要求的子串maxStr记录 ...

  2. js中function的与众不同

    js中function的与众不同在于可以被调用

  3. 【2018沈阳赛区网络预选赛J题】Fantastic Graph 【有上下界的网络流】

    要补的题太多了导致最近没写博客(好吧是我懒) 题目链接https://nanti.jisuanke.com/t/31447 题意 给出一个二分图,问能否挑选出一些边,使得每个点的度数都在[L,R]这个 ...

  4. unity3d xml序列化

    using UnityEngine; using System.Collections; using System.Xml; using System.Xml.Serialization; using ...

  5. 669. Trim a Binary Search Tree修剪二叉搜索树

    [抄题]: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so ...

  6. C++代码静态分析工具splint

    1.引言 最近在项目中使用了静态程序分析工具PC-Lint, 体会到它在项目实施中带给开发人员的方便.PC-Lint是一款针对C/C++语言.windows平台的静态分析工具,FlexeLint是针对 ...

  7. [c++] How many bytes do pointers take up?

    How many bytes do pointers take up? on 16 bit systems take up 2 bytes on 32 bit systems take up 4 by ...

  8. Storm的StreamID使用样例(版本1.0.2)

    随手尝试了一下StreamID的的用法.留个笔记. ==数据样例== { "Address": "小桥镇小桥中学对面", "CityCode" ...

  9. 数据库工具链接阿里云MySQL数据库

    数据库工具:Toad for MySQL ssh工具:XShell 5 跳板机配置: 配置通道: 源主机:数据库工具链接的地址: 侦听接口:数据库工具侦听接口: 目标主机:数据库阿里云地址: 目标端口 ...

  10. SSH 密钥登录 SecureCRT

    https://www.qcloud.com/doc/product/213/2036 1.3. 使用SecureCRT登录 1.3.1. 复制公钥 登录腾讯云控制台,点击[云服务器]-[SSH密钥] ...