py-day2-4 python 集合
# 集合是由 { ,} 组成
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 集合的更多相关文章
- Python - 集合 - 第十一天
Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...
- Python集合的常用方法
注释很详细 collection={,,"apple","orange","cat"} # 查看一个数是否在集合中 in print(&qu ...
- Python 集合set添加删除、交集、并集、集合操作符号
在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...
- [转]python集合set
Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...
- 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 ...
- python集合使用范例的代码
在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...
- python集合与字典的用法
python集合与字典的用法 集合: 1.增加 add 2.删除 •del 删除集合 •discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...
- Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途
生成一个临时文件 python manage.py makemigrations 这时其实是在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_ini ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
- Python 集合set()添加删除、交集、并集、集合操作详解
集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...
随机推荐
- [MySQL]配置多个MySQL服务(Windows)
配置多个MySQL服务 1.复制原解压好的MySQL文件到本目录下,且改名为MySQL2 2.修改MySQL2文件夹中的my.ini 修改my.ini文件中的以下内容,并保存文件: [client] ...
- springboot启动配置原理之一(创建SpringApplication对象)
几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener ...
- ajax上传下载自定义圆形滚动条
demo地址:https://pan.baidu.com/s/1qYNYCFE 因为项目需要在上传文件的时候,知道上传的进度,所以封装了一个方法,在上传文件的时候动态显示上传进度,主要根据XMLHtt ...
- 如何分析java内存泄漏问题
java中的内存泄漏首先需要dump文件出来,主要包括内存dump.线程dump: 内存dump是指通过jmap -dump <pid>输出的文件,而线程dump是指通过jstack &l ...
- Aircrack-ng破解WPA/WPA2加密WiFi教程(Kali)
一.说明 以前学Kali,很多人都笑赞“WiFi破解神器”.我很烦,一是我不会破解二是我觉得他们也不会破解三是我隐约觉得所谓的WiFi破解不是什么技术性的操作. 后来基础知识充分了然后弄了个无线网卡, ...
- python信号量
同进程的一样 Semaphore管理一个内置的计数器,每当调用acquire()时内置计数器-1:调用release() 时内置计数器+1:计数器不能小于0:当计数器为0时,acquire()将阻塞线 ...
- while +for+字符串
# while 循环嵌套# user_from_db='egon'# pwd_from_db='123'# while True:# usr_inp=input('username>>&g ...
- 解决Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/cqupt/paging/dao/User.xml
搭建了一个ssm项目,启动报错Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find re ...
- 剑指Offer 30. 连续子数组的最大和 (数组)
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- mysql在查询中常见问题汇总
1.从主从表中查询外键内容(常见问题) 从主从表中查询对应的外键,需要指定外键的表,即sno=> student.sno或者score.sno 错误:select sno,sname,degre ...