集合——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. 读书笔记 Week6 2018-4-12

    Chap 24 重构 读书笔记 一.需求的变更 单纯就科目学习中的小项目来说,目标在一开始便被明确下来,即可定义一份严谨的列表来描述功能.故在原来的编程经历中,只要上交了程序便一切都没事儿了,也没有重 ...

  2. Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)

    四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...

  3. hadoop开发环境部署——通过eclipse远程连接hadoop2.7.3进行开发

    一.前言 环境: 系统:centos6.5 hadoop版本:Apache hadoop2.7.3(Windows和centos都是同一个) eclipse版本:4.2.0(juno版本,window ...

  4. python-nmap模块常用方法说明

    一.模块常用方法说明 本节介绍python-nmap模块的两个常用类,一个为PortScanner()类,实现一个nmap工具的端口扫描功能封装:另一个为PortScannerHostDict()类, ...

  5. IIS “另一个程序正在使用此文件,进程无法访问"

    重启iis,提示"另一个程序正在使用此文件,进程无法访问".一开始就怀疑是80端口被占用,修改iis的端口为其它端口,重启iis, 果然成功. 在命令行,netstat -nabo ...

  6. centos 6.5使用virtualenv指定python 2.7.x

    1. 使用现有的 python 2.6.x 安装pip rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8. ...

  7. linux 下删除乱码文件-乾颐堂

    在linux下删除文件,遇到特殊字符是一件非常头疼的事情. 1. 如果文件名带 ‘-’ 或者‘--’这样的字符 删除办法为:rm -- 文件名 如文件名为:-pythontab.tgz 如果用普通方法 ...

  8. fgetc()

    fgetc() 函数从文件指针中读取一个字符.

  9. nuget get-package id显示不全

    Get-Package | ft -AutoSize 参考 https://stackoverflow.com/questions/5036719/is-there-a-way-to-get-the- ...

  10. Redis 数据库学习

    安装(mac) 使用homebrew安装,命令是:brew install redis. 安装完成后启动命令:brew services start redis. 使用命令redis-cli进入red ...