python课堂整理7---集合
前面小节:
sep 用来控制每个元素间的间隔符号
print("alex", "dabai", "liu", sep = "")

按可变不可变:
1.可变:列表,字典
2.不可变:字符串, 数字, 元组
修改了变量的值,而id号跟着改变,即不可变类型
name = 'alex'
print(id(name))
name = 'sb'
print(id(name))


按访问顺序:
1.顺序访问:字符串, 列表, 元组
2.映射:字典
3.直接访问:数字
存放元素个数:
容器类型:列表,元组, 字典
原子:数字,字符串
#################集合 ###################
一、集合 set
1.不同的元素组成
2.无序
3.集合中元素必须是不可变类型
s = {1, 2, 3, 4, 5}
内置函数:set() 也有简单的去重作用,不在意顺序的话
s = set('hello')
print(s)
s1 = set(["alex", "alex", "sb"])
print(s1)

二、集合的魔法
1. add, 向集合添加元素(只能更新一个)
s = {1, 2, 3, 4, 5, 6}
s.add('alex')
print(s)

2. clear 清空集合
s.clear()
3. 拷贝集合
s1 = s.copy()
4. pop随机删除元素
s = {1, 2, 3, 4, 5, 6}
v = s.pop()
print(s,v)

5. remove 指定元素删除,删除元素不存在时会报错
s = {1, 2, 3, 4, 5, 6}
s.remove(3)
print(s)

6. discard 指定元素删除,但是要删的元素不存在也不会报错
s = {1, 2, 3, 4, 5, 6}
s.discard(5)
print(s)

7. 交集
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1.intersection(s2)
print(n)

或者:&
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1 & s2
print(n)

8. 并集
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1.union(s2)
print(n)

或者:|
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1 | s2
print(n)

9.求差集(s1 中有而s2中没有)
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1.difference(s2)
print(n)

或者:-
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1 - s2
print(n)

10.交叉补集(s1 和 s2 的全部,减去两者的交集)
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1.symmetric_difference(s2)
print(n)

或者 ^
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
n = s1 ^ s2
print(n)

11.更新差集
s1 = {1, 2, 3}
s2 = {2, 3, 4, 6}
s1.difference_update(s2)
s1 = s1 - s2
print(s1)
print(s1)

12. s1 是否是s2的子集
s1 = {1, 2, 3}
s2 = {1, 2, 3, 4, 6}
n = s1.issubset(s2)
print(n)

13. s2是否是s1的父集
s1 = {1, 2, 3}
s2 = {1, 2, 3, 4, 6}
n = s2.issuperset(s1)
print(n)

14. 更新多个值,参数可以是列表、元组等
s1 = {1, 2, 3}
s2 = {1, 2, 3, 4, 6}
s1.update(s2)
print(s1)

15. 定义一个不可变的集合(不能增删改)
s = frozenset("hello dabai")
print(s)

python课堂整理7---集合的更多相关文章
- python课堂整理19----迭代器和生成器
一.概念 • 迭代器协议: 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个stopIteration异常,以终止迭代(只能往后走,不能往前退) • 协议是一种约定,pyt ...
- python课堂整理18---文件操作(下)
一.b模式,字节方式(二进制的单位),rb wb ab f = open('test.py', 'rb', encoding = 'utf-8') 报错,因为用了b模式,就不能再指定编码格式了,已经指 ...
- python课堂整理16---内置函数
1. abs :求绝对值 print(abs(-1)) 2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False print(all ...
- python课堂整理10---局部变量与全局变量
一.局部变量与全局变量 1. 没有缩进,顶头写的变量为全局变量 2. 在子程序里定义的变量为局部变量 3. 只有函数能把变量私有化 name = 'lhf' #全局变量 def change_name ...
- python课堂整理4---列表的魔法
一.list 类, 列表 li = [1, 12, 9, "age", ["大白", "小黑"], "alex"] ...
- python课堂整理1
1.变量 变量只能由字母.数字.下划线组成 特例:1.变量不能用数字开头 2.不能是python的关键字 3.最好不要和python内置的东西重复 让变量名有意义 些 python3的关键字 ...
- python课堂整理21---初识装饰器
一.装饰器: 本质就是函数,功能:为其他函数添加附加功能 原则: 1.不能修改被装饰函数的源代码 2.不能修改被修饰函数的调用方式 一个简单的装饰器 import time def timmer(fu ...
- python课堂整理20----生产者消费者模型
一.实现功能:店铺生产包子,消费者来吃 import time def producter(): ret = [] for i in range(10): time.sleep(0.1) ret.ap ...
- python课堂整理17---文件操作(上)
1.在同一目录下新建文本文件 “爱了” 2.在该文件下写入内容,同时留意pycharm右下角的编码格式为 utf- 8 3.下面程序中的read函数会索引系统默认的编码格式,winx下是gbk ,所以 ...
随机推荐
- 如何打造VUCA时代的敏捷型组织?
王明兰 --原华为.微软创新与转型教练.华为云SaaS产品总监,著名精益&敏捷转型专家 VUCA最早来源于冷战时期,在现代世界意指商业世界越来越不确定性,越来越易变,越来越不可预测,我们已经进 ...
- Spring Boot 教程
Spring Boot 系列教程: Spring Boot:快速入门教程 Spring Boot:整合Swagger文档 Spring Boot:整合MyBatis框架 Spring Boot:实现M ...
- yii DAO操作总结
数据库代码: /* Navicat MySQL Data Transfer Source Server : lonxom Source Server Version : 50524 S ...
- Appcan 自定义星星评价
注意要先有图片: 放在 css/icons/下 HTML代码: <div class="ub ub-f1"> <input id="bz-0&q ...
- Linux运维工程师学习成长路线
不过大家的留言都很精彩,希望大家也可以去留言区逛一逛~~ 好在这不是最后一期送书,之前已经有了好多活动,小编一定继续为大家多送些福利. 希望大家可以一如既往的关注脚本之家,支持爱你们的小编,共同进步! ...
- 趣解 ceph rgw multisite data sync 机制
multisite是ceph rgw对象数据异地容灾备份的一个有效方案,笔者希望深入理解该技术,并应用于生产环境中,然而rgw的这部分代码晦涩难懂,笔者多次尝试阅读,仍云里雾里不解其意,最终流着泪咬着 ...
- shell 循环打印某一天后的n天的日期
#!/bin/bash start_date="2017-10-26" for i in `seq 0 30` do num=$((${i}+1)) datatime=`date ...
- seo外链发布之论坛外链
目前最常见的seo外链方式有5种,之前大发迹创业项目网写文章分享过,详情可以查看文章<[网站SEO优化]最常见的五种软文外链发布方式!>,这篇文章不说其他的几种发外链,就来讲讲通过论坛建设 ...
- Keep It Simple
The KISS principle, or Keep It Simple, Stupid, spans many trades, industries, and professions. The m ...
- c++学习书籍推荐《C和C++安全编码》下载
<华章程序员书库:C和C++安全编码(原书第2版)>致力于解决C和C++中已经导致危险的.破坏性的常见软件漏洞的基本编程错误,这些漏洞自CERT 1988年创立以来就记录在案.针对导致这些 ...