Python中集合基础知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/82924794

集合是Python2.4开始引入的一种新的类型,是唯一的、不可变的对象的一个无序集合。这些对象支持与数学集合理论相对应的操作。根据定义,一个项在集合中只能出现一次,不管将它添加多少次。同样,集合有着广泛的应用,尤其是在涉及数字和数据库的工作中。 

常用表达式:

>>> x = set("abcde")                        # 集合定义
>>> y = set("bdxyz")
>>> x
{'a', 'c', 'd', 'b', 'e'}

>>> "e" in x                                # 成员关系判断
True

>>> x - y                                   # 差集
{'c', 'a', 'e'}

>>> x | y                                   # 并集
{'y', 'a', 'x', 'z', 'c', 'b', 'd', 'e'}

>>> x & y                                   # 交集
{'b', 'd'}

>>> x ^ y                                   # 对称差集,排除同时出现在x,y中的项'b','d'
{'y', 'a', 'x', 'z', 'c', 'e'}

>>> x > y, x < y
(False, False)

>>>

常用函数:

>>> z = x.intersection(y)         # 集合的交集,类似于 X & Y
>>> z
{'b', 'd'}

>>> z.add("SPAM")                 # 集合中增加新元素
>>> z
{'SPAM', 'b', 'd'}

>>> z.update(set(["X", "Y"]))     # 集合更新
>>> z 
{'Y', 'SPAM', 'd', 'X', 'b'}

>>> z.remove("b")                 # 集合中移除元素
>>> z
{'Y', 'SPAM', 'd', 'X'}

>>> S = set([1, 2, 3])
>>> S
{1, 2, 3}

>>> S.union([3, 4])               # 集合中合并操作
{1, 2, 3, 4}

>>> S.intersection((1, 3, 5))     # 交集
{1, 3}

>>> S.issubset(range(-5, 5))      # 判断一个集合是不是另外一个集合的子集
True

>>> x
{'a', 'c', 'd', 'b', 'e'}
>>> len(x)                        # 求集合的长度
5

>>> S
{1, 2, 3}
>>> L = set(range(-5, 5))
>>> L.issuperset(S)               # 判断某个集合是否为另外一个集合的父集合
True

>>> S
{1, 2, 3}
>>> S.pop()                       # 随机删除一个数字
1

>>> z
{'Y', 'SPAM', 'd', 'X'}
>>> z.remove("d")                 # 移除数据,区别remove,存在则移,不存在不移,也不报错!
>>> z
{'Y', 'SPAM', 'X'}

>>> z
{'Y', 'SPAM', 'X'}
>>> z.clear()                     # 清空集合中的元素
>>> z
set()

集合遍历

>>> for item in set("ABCD"):
...     print(item * 4)
AAAA
BBBB
CCCC
DDDD
>>>

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/82924794