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模块中,大家现在使 ...
随机推荐
- [python]windows截图
Windows截图 截图:截取屏幕任意大小图片 下载pip install Pillow from PIL import ImageGrab # x1:开始截图的x坐标 # x2:开始截图的y坐标; ...
- async await与promise
1.async 的返回值一定是一个promise.,即使你的函数里没有return. // 测试async的返回值 async function testAsync() { } let result ...
- 第 8 章 容器网络 - 062 - 如何使用 flannel host-gw backend?
flannel host-gw backend flannel 支持多种 backend:(1)vxlan backend:(2)host-gw: 与 vxlan 不同,host-gw 不会封装数据包 ...
- 开机自动启动WEB服务,共享目录。
最近工作中,需要共享一个目录,每次重启总要手动执行一下 nohup python -m SimpleHTTPServer 8000这个命令,想着实现让它开机自动启动,就一劳永逸了. 手动步骤如下: ...
- java 常见语法,但是发现switch等基础,常见面试套路不会了,待补充
1,面向对象,万物皆对象,面向对象的三个基本特性:封 装,继承,多态. 面向对象的程序都是由类组成,类封装了对象的属性和行为. 封装:隐藏对象的属性和实现细节,仅对外提供接口. 继承:实现代码复用,将 ...
- Linux下一个进程可以开多少线程
这个问题,整理了一下网上的资料,结果如下: 一.ulimit -n可以查看一个进程最多可以打开多少文件描述符数: 二.一个进程最多可以产生多少线程,可用如下的方法: 32位linux系统最大内存地址4 ...
- Spring Boot + Spring Cloud 实现权限管理系统 (Spring Security 版本 )
技术背景 到目前为止,我们使用的权限认证框架是 Shiro,虽然 Shiro 也足够好用并且简单,但对于 Spring 官方主推的安全框架 Spring Security,用户群也是甚大的,所以我们这 ...
- PHP socket服务端与客户端的简易通信
今天学习socket通信的同时,顺便整理了下以前初识socket的知识. 现在关于php的socket通信,有些框架已经十分成熟了,比如 swoole 和 workerman,这两个大家可以学习学习 ...
- oracle数据库连接 ORA-12638:身份证明检索失败
连数据库的时候突然报了一个这个 查找各种办法,发现自己从10g换成了11g,不过这个没有什么关系,跟oracle的安全设置有关系, 首先从开始菜单找到Net Manager 打开,选择本地,概要文件, ...
- mysql group_concat(column) 函数替换成 oracle wm_concat(colum)
11gr2和12C上已经摒弃了wm_concat函数,所以只能手动创建该函数 解决办法: 一.解锁sys用户 alter user sys account unlock; 二.创建包.包体和函数 以s ...