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)
相关推荐
胡耀超11 分钟前
霍夫圆变换全面解析(OpenCV)
人工智能·python·opencv·算法·计算机视觉·数据挖掘·数据安全
doupoa22 分钟前
Fabric 服务端插件开发简述与聊天事件监听转发
运维·python·fabric
nlog3n24 分钟前
Go语言交替打印问题及多种实现方法
开发语言·算法·golang
kaixin_learn_qt_ing28 分钟前
Golang
开发语言·后端·golang
ddd...e_bug30 分钟前
Shell和Bash介绍
开发语言·bash
How_doyou_do34 分钟前
备战菊厂笔试4
python·算法·leetcode
C4程序员1 小时前
Java百度身份证识别接口实现【配置即用】
java·开发语言
unityのkiven1 小时前
C++中的虚表和虚表指针的原理和示例
开发语言·c++
炒空心菜菜1 小时前
MapReduce 实现 WordCount
java·开发语言·ide·后端·spark·eclipse·mapreduce
(・Д・)ノ1 小时前
python打卡day27
开发语言·python