Python 集合操作

Python 集合操作

Python 集合操作

在Python中,集合(Set)是一种无序、可变、不重复的数据类型,用于存储不重复的元素。Python的集合类型提供了多种方法来操作集合,本文将详细介绍集合的常见操作。

创建集合

创建集合可以使用花括号{}或者set()函数。值得注意的是,如果使用花括号来创建空集合,将会得到一个空字典而不是集合。

# 使用花括号创建集合
set1 = {1, 2, 3, 4, 5}
print(set1)

# 使用set()函数创建集合
set2 = set([1, 2, 3, 4, 5])
print(set2)

# 创建空集合
empty_set = set()
print(empty_set)
Python

运行结果为:

{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
set()
Python

集合操作

添加元素

向集合中添加元素可以使用add()方法,如果要添加的元素已经存在于集合中,则不会重复添加。

set3 = {1, 2, 3}
set3.add(4)
print(set3)

set3.add(3)  # 3 已经存在于集合中
print(set3)
Python

运行结果为:

{1, 2, 3, 4}
{1, 2, 3, 4}
Python

删除元素

从集合中删除元素可以使用remove()discard()方法,两者的区别在于如果要删除的元素不存在于集合中,remove()方法会抛出KeyError异常,而discard()方法则不会。

set4 = {1, 2, 3, 4}
set4.remove(3)
print(set4)

set4.discard(5)  # 5 不存在于集合中
print(set4)
Python

运行结果为:

{1, 2, 4}
{1, 2, 4}
Python

集合运算

Python中的集合类型支持并集、交集、差集、对称差等基本集合运算。

并集

两个集合的并集即包含两个集合中所有元素的集合。可以使用union()方法或|运算符来求两个集合的并集。

set5 = {1, 2, 3}
set6 = {3, 4, 5}
union_set1 = set5.union(set6)
print(union_set1)

union_set2 = set5 | set6
print(union_set2)
Python

运行结果为:

{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
Python

交集

两个集合的交集即包含两个集合中共同元素的集合。可以使用intersection()方法或&运算符来求两个集合的交集。

set7 = {1, 2, 3}
set8 = {3, 4, 5}
intersection_set1 = set7.intersection(set8)
print(intersection_set1)

intersection_set2 = set7 & set8
print(intersection_set2)
Python

运行结果为:

{3}
{3}
Python

差集

两个集合的差集即包含第一个集合中存在而第二个集合中不存在的元素的集合。可以使用difference()方法或-运算符来求两个集合的差集。

set9 = {1, 2, 3, 4}
set10 = {3, 4, 5}
difference_set1 = set9.difference(set10)
print(difference_set1)

difference_set2 = set9 - set10
print(difference_set2)
Python

运行结果为:

{1, 2}
{1, 2}
Python

对称差

两个集合的对称差即包含两个集合中不重合元素的集合。可以使用symmetric_difference()方法或^运算符来求两个集合的对称差。

set11 = {1, 2, 3}
set12 = {3, 4, 5}
symmetric_difference_set1 = set11.symmetric_difference(set12)
print(symmetric_difference_set1)

symmetric_difference_set2 = set11 ^ set12
print(symmetric_difference_set2)
Python

运行结果为:

{1, 2, 4, 5}
{1, 2, 4, 5}
Python

总结

本文介绍了Python中集合的创建方式以及常见的集合操作,包括添加元素、删除元素、集合运算等。集合类型在处理一些需要唯一元素且不需要顺序的数据时非常方便,可以帮助简化代码逻辑,提高效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册