Python3 的集合

1、集合

集合里的元素是唯一的,不会重复,创建一个集合如果有相同的元素,就会被自动剔除,因为集合是无序的所以不能使用索引

>>> set1={1,1,2,2,3,3}
>>> set1
{1, 2, 3}

如何创建一个集合:

>>> set1={1,1,2,2,3,3}
>>> set1
{1, 2, 3}
>>> set2=set([1,1,2,2,3,3])
>>> set2
{1, 2, 3}
>>> set3=set((1,1,2,2,3,3))
>>> set3
{1, 2, 3}

如何将集合里的元素读取出来:

>>> set1={1,1,2,2,3,3}
>>> for i in set1:
    print(i)

    
1
2
3

如何给集合移除和添加元素

#移除一个元素
>>> set1={1,1,2,2,3,3}
>>> set1.remove(3)
>>> set1
{1, 2}
#增加一个元素
>>> set1={1,1,2,2,3,3}
>>> set1.add(4)
>>> set1
{1, 2, 3, 4}

如何创建一个不可变的集合

>>> set1=frozenset([1,2,3])
>>> set1
frozenset({1, 2, 3})

集合内置方法

 

 

 

s.issubset(t)

s <= t

子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员

 

s < t

子集测试(严格意义上):s != t 而且 s 中所有的元素都是 t 的成员

s.issuperset(t)

s >= t

超集测试(允许不严格意义上的超集):t 中所有的元素都是 s 的成员

 

s > t

超集测试(严格意义上):s != t 而且 t 中所有的元素都是 s 的成员

s.union(t)

s | t

合并操作:s "或" t 中的元素

s.intersection(t)

s & t

交集操作:s "与" t 中的元素

s.difference

s - t

差分操作:在 s 中存在,在 t 中不存在的元素

s.symmetric_difference(t)

s ^ t

对称差分操作:s "或" t 中的元素,但不是 s 和 t 共有的元素

s.copy()

 

返回 s 的拷贝(浅复制)

以下方法仅适用于可变集合

   

s.update

s |= t

将 t 中的元素添加到 s 中

s.intersection_update(t)

s &= t

交集修改操作:s 中仅包括 s 和 t 中共有的成员

s.difference_update(t)

s -= t

差修改操作:s 中包括仅属于 s 但不属于 t 的成员

s.symmetric_difference_update(t)

s ^= t

对称差分修改操作:s 中包括仅属于 s 或仅属于 t 的成员

s.add(obj)

 

加操作:将 obj 添加到 s

s.remove(obj)

 

删除操作:将 obj 从 s 中删除,如果 s 中不存在 obj,将引发异常

s.discard(obj)

 

丢弃操作:将 obj 从 s 中删除,如果 s 中不存在 obj,也没事儿^_^

s.pop()

 

弹出操作:移除并返回 s 中的任意一个元素

s.clear()

 

清除操作:清除 s 中的所有元素

原文地址:https://www.cnblogs.com/PythonFCG/p/8386344.html