![v2-168acd065a89fc8f1dfa030b033d8926_1440w.jpg?source=172ae18b](http://img-01.proxy.5ce.com/view/image?&type=2&guid=f1805eef-b72f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-168acd065a89fc8f1dfa030b033d8926_1440w.jpg?source=172ae18b)
全文共 5092字,预计学习时长 10分钟
![v2-168acd065a89fc8f1dfa030b033d8926_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=f1805eef-b72f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-168acd065a89fc8f1dfa030b033d8926_b.jpg)
本文将介绍Python的内置集合模块,用于支持集合和键值对等数学概念。
![v2-5ed1f6731b174b5477f8e9497ecd5e12_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=f1805eef-b72f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-5ed1f6731b174b5477f8e9497ecd5e12_b.jpg)
什么是集合?
集合是一组用于储存唯一值的序列。
初始化
可使用花括号{}定义集合。
>>> numSet = {1, 2, 3, 4, 5}
>>> print(numSet)
{1, 2, 3, 4, 5}
若在初始化中键入重复值,则只保留一个元素。
>>> numSet = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5}
>>> print(numSet)
{1, 2, 3, 4, 5}
也可使用内置的 set函数进行空集初始化。
>>> emptySet = set()
>>> print(emptySet)
set()
注意:集合元素是不可更改的,在集合中加入可变对象会报错。
>>> tuple1 = (1, 2, 3)
>>> tuple2 = (4, 5, 6)
>>> tupleSet = {tuple1, tuple2} # no error as tuples are immutable
>>> print(tupleSet)
{(4, 5, 6), (1, 2, 3)}
>>> list1 = [1, 2, 3]
>>> list2 = [4, 5, 6]
>>> listSet = {list1, list2} #will raise error as lists are mutable
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
加入元素
使用内置 add函数向集合中加入元素。
>>> numSet = {1, 2, 3, 4, 5}
>>> numSet.add(6)
>>> print(numSet)
{1, 2, 3, 4, 5, 6}
注意:在集合中加入重复元素是无效的,此情况下也不会报错。
>>> numS