11. 集合set类型详解

python3 set类型的使用

1. 基础知识

(1) 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。集合是一个无序的不重复元素序列
(2)基本功能是进行成员关系测试和删除重复元素。
(3)可以使用大括号{ }或者set()创建集合。注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典

(4)自动去重。集合中是不允许存在相同的元素的

sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu', 'Baidu'}
print(sites)        # 自动去重

在这里插入图片描述
(5)成员资格运算符

sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu', 'Baidu'}

if 'Google' in sites:
    print("Google在集合中.")
else:
    print("Google不在集合中.")

在这里插入图片描述

2. 集合之间的运算

根据高中集合中所学知识,集合之间存在一定的运算,此处不再赘述。
集合间存在并集(|),差集(-),交集(&),对称差集(^)。

set1= set("abcd")
set2= set("cdef")

print(set1 | set2)        # 集合set1和集合set2所有的元素
print(set1 - set2)        # 集合set1中包含而集合set2中不包含的元素
print(set1 & set2)        # 集合set1和集合set2共有的元素
print(set1 ^ set2)        # 取集合set1和set2中 不属于 set1&set2的元素

11. 集合set类型详解_第1张图片

3. 集合的基本操作

(1) 添加元素
[a]. set.add()方法

sites = {'Google', 'Taobao'}
print('添加前:> ', sites)
sites.add("ZhiHu")
sites.add("ZhiHu")  # 如果元素已经存在, 则不进行任何操作
print('添加后:> ', sites)

在这里插入图片描述
[b]. set.update(x)方法
也可以用来向集合中添加元素, 且参数可以是列表,元组,字典等

sites = {'Google', 'Taobao'}
print('添加前:> ', sites)
sites.update([1,3], ["good", "bad"])
print('添加后:> ', sites)

在这里插入图片描述

(2) 删除元素
[a]. set.remove(elem)方法
将元素elem从集合set中删除,如果元素elem不存在,将发生报错

sites = {'Google', 'Taobao'}
sites.remove('Google')	# 移除元素Google,正确
print('移除后:> ', sites)
sites.remove('BaiDu')	# 错误, 因为集合中没有BaiDu元素

11. 集合set类型详解_第2张图片

[b]. set.discard(elem)方法
此方法也可以移除集合中的元素,且如果元素不存在,不会发生错误

sites = {'Google', 'Taobao'}
sites.discard('Google')	
print('移除后:> ', sites)
sites.discard('BaiDu')	# 即使不存在BaiDu元素, 此处也不会报错, 只是默默地失败

在这里插入图片描述
[c]. set.pop()方法
可以从集合中随机的删除一个元素
set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

# 可以多次运行该程序, 会发现每次运行结果不尽相同
sites = {'Google', 'Taobao', "BaiDu", "ZhiHu"}
print(sites.pop())

(3) 清空集合
set.clear(),就是将这个集合置空。

sites = {'Google', 'Taobao', "BaiDu", "ZhiHu"}
sites.clear()
print(sites)

在这里插入图片描述

(5) 计算集合元素个数

sites = {'Google', 'Taobao', "BaiDu", "ZhiHu"}
print(len(sites))

在这里插入图片描述

(6) 成员运算符
格式:elem in set

sites = {'Google', 'Taobao', "BaiDu", "ZhiHu"}
print('Google' in sites)
print('JiDong' in sites)

在这里插入图片描述

4. 集合内置方法完整列表

add():向集合中追加一个元素
clear():清空整个集合中的元素
copy():拷贝一个集合
pop():随机集合中的元素
。。。。
更多API接口请参考官方接口文档。

https://docs.python.org/3.9/library/stdtypes.html#set-types-set-frozenset go
11. 集合set类型详解_第3张图片

你可能感兴趣的:(#,python初级篇,python)