Python必备技巧之集合Set的使用

  • Post category:Python

Python必备技巧之集合Set的使用

介绍

Set是一种不同于List和Tuple的Python内置数据类型。它类似于集合,其中每个元素是唯一的,因此可以用于操作和处理独特且不同的元素集合。集合Set有两个主要的优点:高速查询和概念上清晰。

Set支持基本集合操作,如并集、交集和差集,并可以使用方法进行更高级的操作。此外,Set还可以使用类似于for循环的迭代器和其他枚举功能进行遍历。下面让我们了解一下Set的使用方法。

创建Set

Set可以通过两种方式创建:

  • 直接使用{}创建一个空的Set对象:S = {}
  • 将一个列表或元组转换为Set:S = set([1, 2, 3])

上述实例中第二种方式更为常用。这里需要注意,在创建Set时,任何重复的元素只会保存一次。

Set方法

Set有多种方法,可以用来查询、插入、删除元素等。

添加元素

可以使用add()update()方法添加元素到Set中:

# add()方法添加元素
S = set([1, 2, 3])
S.add(4)
print(S)  # {1, 2, 3, 4}

# update()方法添加多个元素
S.update([5, 6, 7])
print(S)  # {1, 2, 3, 4, 5, 6, 7}

删除元素

可以使用remove()discard()方法从Set中删除元素:

S = set([1, 2, 3])
S.remove(2)
print(S)  # {1, 3}

S.discard(3)
print(S)  # {1}

需要注意的是,在使用remove()方法删除元素时,如果元素不存在时,会抛出KeyError错误。而使用discard()方法,即使元素不存在也不会抛出错误。

查询元素

可以使用in关键字查询某个元素是否在Set中:

S = set([1, 2, 3])
if 1 in S:
    print('1 in Set')
else:
    print('1 not in Set')

集合运算

Set支持与、或、差等集合运算。

S1 = set([1, 2, 3])
S2 = set([2, 3, 4])

# 与运算
print(S1 & S2)  # {2, 3}

# 或运算
print(S1 | S2)  # {1, 2, 3, 4}

# 差运算
print(S1 - S2)  # {1}

遍历Set

可以使用类似于for循环的迭代器和其他枚举功能进行遍历:

S = set([1, 2, 3])
for i in S:
    print(i)

总结

Set是Python内置数据类型中十分重要的一种,它可以用于操作和处理独特且不同的元素集合。在程序开发过程中,应该尽可能地使用Set,以提高程序的运行效率。