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)
相关推荐
小王子10242 小时前
设计模式Python版 组合模式
python·设计模式·组合模式
来恩10033 小时前
C# 类与对象详解
开发语言·c#
komo莫莫da3 小时前
寒假刷题Day19
java·开发语言
ElseWhereR4 小时前
C++ 写一个简单的加减法计算器
开发语言·c++·算法
Mason Lin4 小时前
2025年1月22日(网络编程 udp)
网络·python·udp
清弦墨客4 小时前
【蓝桥杯】43697.机器人塔
python·蓝桥杯·程序算法
※DX3906※4 小时前
cpp实战项目—string类的模拟实现
开发语言·c++
wjs20245 小时前
Nginx 安装配置指南
开发语言
美味小鱼5 小时前
实践Rust:编写一个猜数字游戏
开发语言·游戏·rust
Dr.勿忘6 小时前
C#面试常考随笔8:using关键字有哪些用法?
开发语言·unity·面试·c#·游戏引擎