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)
相关推荐
喜欢喝果茶.几秒前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
亓才孓2 分钟前
[Class类的应用]反射的理解
开发语言·python
努力学编程呀(๑•ี_เ•ี๑)2 分钟前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
小镇敲码人11 分钟前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
island131423 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了27 分钟前
Java中的集合
java·开发语言
摘星编程30 分钟前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶31 分钟前
Python 项目版本控制
开发语言·python
lili-felicity38 分钟前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人40 分钟前
Python3基础:进阶基础,筑牢编程底层能力
后端·python