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,以提高程序的运行效率。