当前位置: 首页 > news >正文

Python---集合set

集合特点

1. 可以容纳多个数据

2. 可以容纳不同类型的数据

3.数据是无序存储的(不支持下标索引)

4. 不允许重复数据存在

5. 可以修改

6. 支持for循环,不支持while循环

集合定义

# 定义集合
变量 = {元素1, 元素2, 元素3, 元素4...}# 定义空集合
变量 = set()

例子:

my_set = {"语文", "数学", "英语", "历史", "地理", "语文", "数学"}
my_set_empty = set()
print(type(my_set), my_set)    # <class 'set'> {'语文', '英语', '历史', '地理', '数学'}
print(type(my_set_empty), my_set_empty)   # <class 'set'> set()

添加元素

# 添加新元素
语法:集合.add(元素)---集合本身被修改,添加了新元素

例子:

my_set.add("Python")
my_set.add("语文")
print(my_set)  # 自动去重  {'Python', '英语', '数学', '历史', '语文', '地理'}

移除元素

# 删除元素
语法:集合.remove(元素)----集合本身被修改,移除了元素# 从集合中随机取出元素 ---会得到一个元素的结果,同时集合本身被修改,元素被移除
语法:集合.pop()

例子:

my_set = {'Python', '英语', '数学', '历史', '语文', '地理'}
my_set.remove("语文")
print(my_set)   # {'历史', '数学', 'Python', '地理', '英语'}my_set = {'Python', '英语', '数学', '历史', '语文', '地理', '英语'}
element = my_set.pop()
print(element)  # 数学    --- 随机的
print(my_set)  # {'地理', 'Python', '英语', '语文', '历史'}

清空集合

# 清空集合
语法:集合.clear()

例子:

my_set = {'Python', '英语', '数学', '历史', '语文', '地理', '英语'}
my_set.clear()
print(my_set)   # set()

取出两个集合的差集

# 取出两个集合的差集
语法:集合1.difference(集合2)   --- 取出集合1和集合2的差集 (集合1有而集合2没有的)
结果:得到一个新集合,集合1和集合2不变

例子:

set1 = {1, 2, 3, 7, 8}
set2 = {2, 3, 4, 5, 6}
set = set1.difference(set2)
print(set)   # {8, 1, 7}

消除两个集合的差集

# 消除两个集合的差集
语法:集合1.difference_update(集合2)  --- 在集合1内,删除和集合2相同的元素
结果:集合1被修改,集合2不变

例子:

set1 = {1, 2, 3, 7, 8}
set2 = {2, 3, 4, 5, 6}
set1.difference_update(set2)
print(set1)   # {1, 7, 8}
print(set2)   # {2, 3, 4, 5, 6}

2个集合合并

语法:集合1.union(集合2)  --- 将集合1和集合2组合成新集合
结果:得到新集合,集合1和集合2不变

例子:

set1 = {1, 2, 3, 7, 8}
set2 = {2, 3, 4, 5, 6}
set = set1.union(set2)
print(set)  # {1, 2, 3, 4, 5, 6, 7, 8}

统计集合元素数量

# 统计集合元素数量
语法:len(集合)

例子:

set1 = {1, 2, 3, 7, 8, 1, 2, 3, 7, 8}
print(len(set1))  # 5

集合遍历:

注意:集合不支持下标索引,不能用while循环,可以用for循环

例子:

set1 = {1, 2, 3, 7, 8, 1, 2, 3, 7, 8}
for i in set1:print(i)

http://www.lryc.cn/news/161311.html

相关文章:

  • LORA项目源码解读
  • Azure + React + ASP.NET Core 项目笔记一:项目环境搭建(一)
  • html 学习 之 文本标签
  • 联发科3纳米芯片预计2024年量产,此前称仍未获批给华为供货
  • 搭建vue3项目并git管理
  • 【Azure OpenAI】OpenAI Function Calling 101
  • 立晶半导体Cubic Lattice Inc 专攻音频ADC,音频DAC,音频CODEC,音频CLASS D等CL7016
  • 【Flutter】支持多平台 多端保存图片到本地相册 (兼容 Web端 移动端 android 保存到本地)
  • postgresql 安装教程
  • 手写数据库连接池
  • 在CentOS7上增加swap空间
  • @Autowired和@Resource
  • QTableView通过setColumnWidth设置了列宽无效的问题
  • 【用unity实现100个游戏之10】复刻经典俄罗斯方块游戏
  • Docker容器内数据备份到系统本地
  • 学信息系统项目管理师第4版系列06_项目管理概论
  • Java发送(QQ)邮箱、验证码发送
  • PostgresSQL----基于Kubernetes部署PostgresSQL
  • 7 个适合初学者的项目,可帮助您开始使用 ChatGPT
  • JDBC操作SQLite的工具类
  • SEO百度优化基础知识全解析(了解百度SEO标签作用)
  • 用python实现基本数据结构【03/4】
  • 软件测试面试题汇总
  • AP5101C 高压线性恒流IC 宽电压6-100V LED汽车大灯照明 台灯LED矿灯 指示灯电源驱动
  • 【大数问题】字符串相减(大数相减)<模拟>
  • easycode生成代码模板配置
  • 【数据结构】堆排序和Top-k问题
  • 经典的生产者和消费者模型问题
  • Java基础:代理
  • 每日一学——防火墙2