14.数据容器-set集合

特点

无序的,元素不重复,自带去重功能。

可以容纳不同类型的元素数据。

python 复制代码
# 定义一个空set
your_set = set()
python 复制代码
my_set = {'aa', 'bb', 'bb', 'aa'}
# {'aa', 'bb'}
print(my_set)

因为set集合是无序的,所以集合不支持下标索引访问。所以set集合不支持序列,也不能够切片。

但是set集合可以被修改。

**注意:**myset = {} 表示是一个空字典dict类型,不是一个空set集合。

add方法,添加元素

python 复制代码
my_set = {'aa', 'bb', 'bb', 'aa'}
my_set.add("python")
# {'aa', 'bb', 'python'}
print(my_set)

remove方法,删除元素

python 复制代码
my_set = {'aa', 'bb', 'bb', 'aa'}
my_set.remove('bb')
# {'aa'}
print(my_set)

pop方法,随机取出集合中的一个元素

python 复制代码
my_set = {'aa', '11', 'bb', '22'}
aa = my_set.pop()
# 11
print(aa)
# {'22', 'bb', 'aa'}
print(my_set)

clear方法,清空集合

python 复制代码
my_set = {'aa', '11', 'bb', '22'}
my_set.clear()
# set()
print(my_set)

difference方法,求两个集合的差集

python 复制代码
set_a = {1, 3, 5}
set_b = {2, 4, 6}
# 取两个集合的差集,得到一个新的集合,原来的两个集合不变
set_res = set_a.difference(set_b)
# {1, 3, 5}
print(set_res)
# {1, 3, 5}
print(set_a)
# {2, 4, 6}
print(set_b)

difference_update方法,集合1内删除与集合2相同的元素

集合1被修改,集合2不会被修改

python 复制代码
set_a = {1, 3, 5}
set_b = {1, 4, 6}
set_a.difference_update(set_b)
# {3, 5}
print(set_a)
# {1, 4, 6}
print(set_b)

union集合,将两个集合中的元素合并到一起并放入新的集合

集合1不变,集合2不变,产生一个新的集合

python 复制代码
set_a = {1, 3, 5}
set_b = {1, 4, 6}
set_c = set_a.union(set_b)
# {1, 3, 4, 5, 6}
print(set_c)

len方法,获取集合的元素个数

python 复制代码
set_a = {1, 3, 5}
# 3
print(len(set_a))

for循环遍历

不支持while遍历,因为没有索引下标。

python 复制代码
set_a = {1, 3, 5}
for i in set_a:
    print(i)
相关推荐
用户7783366132115 小时前
用 React Hook 封装搜索数据:useSerp 的防抖、缓存与错误处理
python·api
65岁退休Coder9 小时前
LangGraph v1.2.9 节点容错策略 & 流式输出 & 持久化记忆管理
后端·python·langchain
ikun_文12 小时前
Django框架路由Router的使用
python·pycharm·django
IvanCodes12 小时前
Python 基础语法(二):字符串与常用操作
python
昭昭日月明12 小时前
LangChain 生态:从链到代理,开发者需要掌握的三大核心
python·langchain·agent
Csvn12 小时前
🐍 Day 8:面向对象编程
后端·python
程序员天天困12 小时前
向量检索不准怎么办:混合检索与 Rerank 重排序召回优化实战
后端·python·ai编程
alphaTao13 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
苏灿烤鱼14 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"
python·开源·agent
张文君14 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python