前言

集合:可变的数据类型,但元素必须是不可变的数据类型,无序不重复,既可哈希。所以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

最新文章

  1. android应用安全——(数据抓包)跟踪监控android数据包
  2. sharepoint custom web service
  3. struts2 spring3.2 hibernate4.1 框架搭建 整合
  4. [HDU 5135] Little Zu Chongzhi&#39;s Triangles (dfs暴搜)
  5. [SharePoint 2013 入门教程 3 ] 排版第一个网站集,网站
  6. linux内核链表的移植与使用
  7. 最短的IE判断var ie=!-[1,]分析
  8. linux几条常用的命令
  9. 数据结构(java版)学习笔记(一)——线性表
  10. mybatis框架(3)---SqlMapConfig.xml解析
  11. Pytorch的Reproducibility(可复现性)
  12. 关于IK 分词器
  13. C++数组初始化方法
  14. JVM内存初学 堆、栈、方法区
  15. 测试笔试单选题(持续更新ing)
  16. [CoreOS 转载] CoreOS实践指南(三):系统服务管家Systemd
  17. Django的调试方法
  18. html file 文件批量上传 以及碰到的一些问题提
  19. docker动态绑定端口
  20. 分频器VHDL描述

热门文章

  1. Linux 目录管理的相关命令
  2. python之字符串的拼接总结
  3. 使用 html2canvas 点击保存时把当前页面生成图片
  4. IT兄弟连 HTML5教程 HTML5文字版面和编辑标签 使用HTML表格
  5. .NET Core 数据结构与算法 1-1
  6. C# 重置IE安全等级
  7. PHP给图片加上图片水印和文字水印实例
  8. Use a Multiline Editor for String Properties 对字符串属性使用多行编辑器
  9. Object-C里的类目,延展,协议
  10. 【React Native】进阶指南之二(手势响应系统)