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)
相关推荐
Bruk.Liu几秒前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
Imm7771 分钟前
中国知名的车膜品牌推荐几家
人工智能·python
qq_423233906 分钟前
C++与Python混合编程实战
开发语言·c++·算法
tudficdew7 分钟前
实战:用Python分析某电商销售数据
jvm·数据库·python
m0_7155753418 分钟前
分布式任务调度系统
开发语言·c++·算法
sjjhd65228 分钟前
Python日志记录(Logging)最佳实践
jvm·数据库·python
csbysj202035 分钟前
选择(Selectable)
开发语言
naruto_lnq39 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
2301_821369611 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
:Concerto1 小时前
JavaSE 注解
java·开发语言·sprint