Python3 集合(set)
阅读 (140) |
发布于 2020-05-19 12:00:37
set集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。集合使用大括号({})框定元素,并以逗号进行分隔。但是注意:如果要创建一个空集合,必须用 set() 而不是 {}
集合数据类型的核心在于自动去重alist = [1, 2, 1, 3, 2, 4, 5]
s = set(alist)
print(s)
{1, 2, 3, 4, 5}
集合增加元素 s.add()
可以重复添加,但是不会生效。>>> s = set([1, 2, 3, 4, 5])
>>> s.add(6)
>>> s
{1, 2, 3, 4, 5, 6}
>>> s.add(5)
>>> s
{1, 2, 3, 4, 5, 6}
update()方法将对象更新到集合中,更新的对象是序列就可以被更新例如:>>> s = set([1,2,3])
>>> s.update([123])
>>> s
{123, 1, 2, 3}
>>> s.update('hello')
>>> s
{1, 2, 3, 'h', 'e', 'l', 123, 'o'}
remove()方法删除指定元素>>> s = set([1, 2, 3, 4, 5])
>>> s.remove(1)
>>> s
{2, 3, 4, 5}
pop()方法 取出集合开头取出一个元素,并返回取出的元素。>>> s = set([1, 2, 3, 4, 5])
>>> s.pop()
1
>>> s
{2, 3, 4, 5}
对集合交并差补操作
求交集:>>> a = set([1,2,3])
>>> b = set([2,4,5])
>>> a.intersection(b)
{2}
#或者
>>> a & b
{2}
求并集>>> a = set([1,2,3])
>>> b = set([2,4,5])
>>> a.union(b)
{1, 2, 3, 4, 5}
#或者
>>> a | b
{1, 2, 3, 4, 5}
求差集>>> a = set([1,2,3])
>>> b = set([2,4,5])
>>> a.difference(b)
{1, 3}
求交叉补集>>> a = set([1,2,3])
>>> b = set([2,4,5])
>>> a.symmetric_difference(b)
{1, 3, 4, 5}