Python数据类型之Set集合实例详解

  • Post category:Python

Python数据类型之Set集合实例详解

什么是Set集合?

Set集合是Python的一种内置数据类型,它是由一系列无序、唯一且不可变的元素组成的集合。因为Set集合中的元素是不可变的,所以它可以作为字典的key值。

Set集合的基本操作

创建Set集合

可以通过set()函数来创建一个空的Set集合,或者在{}中加入元素来创建非空的Set集合。

empty_set = set()
print(empty_set)

nonempty_set = {1, 2, 3}
print(nonempty_set)

输出为:

set()
{1, 2, 3}

Set集合的元素操作

  • 添加元素:通过add()函数来添加元素到Set集合中。
fruits = {'apple', 'banana', 'orange'}
fruits.add('melon')
print(fruits)

输出为:

{'orange', 'apple', 'banana', 'melon'}
  • 删除元素:通过remove()函数来删除Set集合中的元素。如果要删除的元素不存在,会引发KeyError异常。如果不想引发异常,可以使用discard()函数。
fruits = {'apple', 'banana', 'orange'}
fruits.remove('banana')
print(fruits)

fruits.discard('watermelon')
print(fruits)

输出为:

{'orange', 'apple'}
{'orange', 'apple'}
  • 判断元素是否存在:可以使用in关键字或者not in关键字来判断元素是否存在于Set集合中。
fruits = {'apple', 'banana', 'orange'}
print('banana' in fruits)
print('watermelon' not in fruits)

输出为:

True
True

Set集合的运算操作

  • 并集:可以使用|符号来取两个集合的并集。
fruits1 = {'apple', 'banana', 'orange'}
fruits2 = {'banana', 'watermelon', 'pear'}
fruits_union = fruits1 | fruits2
print(fruits_union)

输出为:

{'watermelon', 'banana', 'orange', 'apple', 'pear'}
  • 交集:可以使用&符号来取两个集合的交集。
fruits1 = {'apple', 'banana', 'orange'}
fruits2 = {'banana', 'watermelon', 'pear'}
fruits_intersection = fruits1 & fruits2
print(fruits_intersection)

输出为:

{'banana'}
  • 差集:可以使用-符号来取两个集合的差集。
fruits1 = {'apple', 'banana', 'orange'}
fruits2 = {'banana', 'watermelon', 'pear'}
fruits_difference = fruits1 - fruits2
print(fruits_difference)

输出为:

{'orange', 'apple'}

Set集合的实例说明

Set集合应用于去重

一个常见的应用场景是去重,Set集合能够自动去重并保留数据的顺序。

nums = [1, 2, 4, 2, 3, 1, 5]
nums_set = set(nums)
nums_list = list(nums_set)
print(nums_list)

输出为:

[1, 2, 3, 4, 5]

Set集合应用于列表去重

还可以将Set集合应用于列表去重操作。如果想要保留数据的顺序,可以先转化为Set集合再转回列表形式。

colors = ['red', 'green', 'blue', 'yellow', 'red', 'green']
colors_set = set(colors)
colors_list = list(colors_set)
print(colors_list)

输出为:

['red', 'green', 'blue', 'yellow']

结语

Set集合作为Python中的一种内置数据类型,具有自动去重、并、交、差等操作功能,是编写高效Python代码的基础之一。