Python set集合详解

1. 什么是set集合

在Python中,set是一个无序的不重复元素序列,可以进行集合运算,比如并集、交集、差集等。set集合在Python的数据类型中非常重要,可以帮助我们更好地解决问题。这里我们来看看set集合的一些基本操作。

1.1 set集合的创建

可以使用以下两种方式来创建set集合:

# 创建set集合

set1 = {'apple', 'banana', 'orange'}

set2 = set(['apple', 'banana', 'orange'])

print(set1)

print(set2)

输出结果如下:

{'banana', 'apple', 'orange'}

{'banana', 'apple', 'orange'}

可以看到,set集合的元素是无序的,且不重复。

1.2 set集合的基本操作

与列表一样,set集合也有一些基本操作,包括添加元素、删除元素、查看元素是否在集合中等。

1.2.1 添加元素

# 添加元素

set1.add('pear')

print(set1)

输出结果如下:

{'orange', 'apple', 'pear', 'banana'}

可以看到,使用add()函数可以向set集合中添加一个元素。

1.2.2 删除元素

# 删除元素

set1.remove('apple')

print(set1)

输出结果如下:

{'orange', 'banana', 'pear'}

可以看到,使用remove()函数可以从set集合中删除一个元素。

1.2.3 查看元素是否在集合中

# 查看元素是否在集合中

print('apple' in set1)

print('pear' in set1)

输出结果如下:

False

True

可以看到,使用in关键字可以查看元素是否在set集合中。

2. set集合的运算

set集合可以进行并集、交集、差集、对称差集等运算。

2.1 并集运算

并集运算即将两个set集合中的元素合并成一个set集合,重复的元素只保留一个。

set1 = {'apple', 'banana', 'orange'}

set2 = {'banana', 'pear', 'grape'}

# 并集运算

set3 = set1.union(set2)

print(set3)

输出结果如下:

{'pear', 'orange', 'grape', 'banana', 'apple'}

可以看到,使用union()函数可以进行并集运算。

2.2 交集运算

交集运算即将两个set集合中共有的元素取出来合并成一个set集合。

set1 = {'apple', 'banana', 'orange'}

set2 = {'banana', 'pear', 'grape'}

# 交集运算

set3 = set1.intersection(set2)

print(set3)

输出结果如下:

{'banana'}

可以看到,使用intersection()函数可以进行交集运算。

2.3 差集运算

差集运算即选择一个set集合,将不同于另一个set集合的元素取出来,合并成一个set集合。

set1 = {'apple', 'banana', 'orange'}

set2 = {'banana', 'pear', 'grape'}

# 差集运算

set3 = set1.difference(set2)

print(set3)

输出结果如下:

{'orange', 'apple'}

可以看到,使用difference()函数可以进行差集运算。

2.4 对称差集运算

对称差集运算即将两个set集合中不同的元素取出来,合并成一个set集合。

set1 = {'apple', 'banana', 'orange'}

set2 = {'banana', 'pear', 'grape'}

# 对称差集运算

set3 = set1.symmetric_difference(set2)

print(set3)

输出结果如下:

{'pear', 'orange', 'grape', 'apple'}

可以看到,使用symmetric_difference()函数可以进行对称差集运算。

3. 总结

这里我们对Python的set集合进行了详细的讲解,包括set集合的创建、基本操作、并集、交集、差集、对称差集等运算,希望这篇文章可以帮助大家更好地理解set集合在Python中的应用。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签