python-13-集合增删查
2024-08-30 00:23:46
前言
集合:可变的数据类型,但元素必须是不可变的数据类型,无序不重复,既可哈希。所以python的集合是不能进行修改的,只有增删查。
可哈希、不可变数据类型有:元组、bool、int、str
一、增
1、add,因为是无序的,每次打印看到的新增都是随机位置
# 1、add,无序的,随机
set1 = {'tian', '小龙'}
set1.add('long')
print(set1)
2、update,按照元素新增
# 2、update
set1 = {'tian', '小龙'}
set1.update('ab')
print(set1)
二、删除
1、pop()删除
# 1、pop()删除
set1 = {'tian', '小龙', 'xiao'}
print(set1.pop()) # 随机删除,有返回值
print(set1)
2、remove 按元素删除
# 2、remove 按元素删除
set1 = {'tian', '小龙', 'xiao'}
set1.remove('tian')
print(set1)
3、clear 清空
# 3、清空
set1 = {'tian', '小龙', 'xiao'}
set1.clear()
print(set1)
4、del 删除,没有返回值
# 4、del 删除,没有返回值
set1 = {'tian', '小龙', 'xiao'}
del set1
三、查
1、交集、并集、反交集、差集,可bool、int、str
set1 = {4, 5, 6, 7, 8}
set2 = {12, 1, 5, 7, 9}
print(set1 & set2) # 交集 print(set1 | set2) # 并集,去重 print(set1 ^ set2) # 反交集 print(set1 - set2) # 差集
2、子集、超集,返回:bool
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
print(set1 < set2) # 子集,set1 是 set2的子集
print(set2 > set1) # 超集,set2 是 set1的超集
3、有个需求将列表的数据去重,不改变原来的类型。(PS:1.二次转换;2.frozenset)
① 列表转换为集合,集合再转回列表
li = [1,2,33,33,2,1,4,5,6,'a','a']
# # 将列表转换为集合,集合再转回列表即可
s = set(li)
print(list(s))
② frozenset
li = []
s = frozenset([1,2,33,33,2,1,4,5,6,'a','a'])
print(s, type(s))
for i in s:
li.append(i)
print(li)
你更喜欢哪种呢?欢迎来QQ交流群:482713805
最新文章
- android应用安全——(数据抓包)跟踪监控android数据包
- sharepoint custom web service
- struts2 spring3.2 hibernate4.1 框架搭建 整合
- [HDU 5135] Little Zu Chongzhi&#39;s Triangles (dfs暴搜)
- [SharePoint 2013 入门教程 3 ] 排版第一个网站集,网站
- linux内核链表的移植与使用
- 最短的IE判断var ie=!-[1,]分析
- linux几条常用的命令
- 数据结构(java版)学习笔记(一)——线性表
- mybatis框架(3)---SqlMapConfig.xml解析
- Pytorch的Reproducibility(可复现性)
- 关于IK 分词器
- C++数组初始化方法
- JVM内存初学 堆、栈、方法区
- 测试笔试单选题(持续更新ing)
- [CoreOS 转载] CoreOS实践指南(三):系统服务管家Systemd
- Django的调试方法
- html file 文件批量上传 以及碰到的一些问题提
- docker动态绑定端口
- 分频器VHDL描述