python中set

Python Set 用法详解

目前成都创新互联已为上千多家的企业提供了网站建设、域名、雅安服务器托管网站托管、企业网站设计、无为网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

什么是 Set

Set(集合)是 Python 中的一种数据结构,它是一个无序且不重复的元素集,Set 的主要作用是进行成员关系测试和消除重复元素,Set 对象还支持 union(联合)、intersection(交)、difference(差)和 symmetric difference(对称差集)等数学运算。

创建 Set

创建 Set 的方法有很多,下面是一些常见的方法:

1、使用 set() 函数创建一个空的 Set:

s = set()
print(s)  # 输出:set()

2、使用花括号 {} 创建一个包含一些元素的 Set:

s = {1, 2, 3}
print(s)  # 输出:{1, 2, 3}

3、使用 set() 函数将一个列表、元组或其他可迭代对象转换为 Set:

lst = [1, 2, 2, 3, 4, 4, 5]
s = set(lst)
print(s)  # 输出:{1, 2, 3, 4, 5}

Set 的基本操作

1、添加元素

使用 add() 方法向 Set 中添加元素:

s = {1, 2, 3}
s.add(4)
print(s)  # 输出:{1, 2, 3, 4}

2、删除元素

使用 remove() 方法从 Set 中删除指定的元素:

s = {1, 2, 3}
s.remove(2)
print(s)  # 输出:{1, 3}

使用 discard() 方法从 Set 中删除指定的元素,如果元素不存在,不会抛出异常:

s = {1, 2, 3}
s.discard(2)
print(s)  # 输出:{1, 3}

3、判断元素是否存在

使用 in 关键字判断元素是否存在于 Set 中:

s = {1, 2, 3}
print(1 in s)  # 输出:True
print(4 in s)  # 输出:False

Set 的常用方法

1、union():返回两个 Set 的并集

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.union(s2))  # 输出:{1, 2, 3, 4, 5}

2、intersection():返回两个 Set 的交集

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.intersection(s2))  # 输出:{3}

3、difference():返回两个 Set 的差集

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.difference(s2))  # 输出:{1, 2}

4、symmetric_difference():返回两个 Set 的对称差集

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.symmetric_difference(s2))  # 输出:{1, 2, 4, 5}

Set 的应用场景

1、去重

当我们需要去除列表中的重复元素时,可以使用 Set:

lst = [1, 2, 2, 3, 4, 4, 5]
s = set(lst)
new_lst = list(s)
print(new_lst)  # 输出:[1, 2, 3, 4, 5]

2、集合运算

当我们需要进行集合的并集、交集、差集和对称差集等运算时,可以使用 Set:

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.union(s2))  # 输出:{1, 2, 3, 4, 5}
print(s1.intersection(s2))  # 输出:{3}
print(s1.difference(s2))  # 输出:{1, 2}
print(s1.symmetric_difference(s2))  # 输出:{1, 2, 4, 5}

本文详细介绍了 Python Set 的用法,包括创建 Set、基本操作、常用方法和应用场景,希望对大家有所帮助。

名称栏目:python中set
网站地址:http://www.mswzjz.cn/qtweb/news26/59076.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能