BrightXiong 发表于 2023-3-9 22:46:12

集合-上

>>> # 使用花括号,元素之间以逗号分隔:{"FishC", "Python"}
>>> # 使用集合推导式:{s for s in "FishC"}
>>> # 使用类型构造器,也就是 set():set("FishC")
>>> aa = {"FishC", "Python"}
>>> aa
{'FishC', 'Python'}
>>> bb = {s for s in "FishC"}
>>> bb
{'C', 's', 'i', 'h', 'F'}
>>> cc = set("FishC")
>>> cc
{'C', 's', 'i', 'h', 'F'}
>>> # 集合具有随机性
>>> "C" in aa
False
>>> "FishC" in aa
True
>>> "C" in cc
True
>>> # 访问集合
>>> for each in aa:
...         print(each)
...
FishC
Python
>>> for each in cc:
...         print(each)
...
C
s
i
h
F
>>> set()
{1, 2, 3, 5}
>>> s =
>>> len(s) == len(set(s))
False
>>> # 去重
>>> set()
{1, 2, 3, 5}
>>> s =
>>> len(s) == len(set(s))
True
>>> t = s.copy()
>>> t

>>> # 如果我们要检测两个集合之间是否毫不相干,可以使用 isdisjoint(other) 方法
>>> s = set("FishC")
>>> s
{'C', 's', 'i', 'h', 'F'}
>>> s.isdisjoint(set("p"))
True
>>> s.isdisjoint(set("i"))
False
>>> # 如果我们要检测该集合是否为另一个集合的子集,可以使用 issubset(other) 方法:
>>> s.issubset("FishC.com.cn")
True
>>> # 如果我们要检测该集合是否为另一个集合的超集,可以使用 issuperset(other) 方法(对于两个集合 A、B,如果集合 B 中任意一个元素都是集合 A 中的元素,我们就说这两个集合有包含关系,称集合 A 为集合 B 的超集):
>>> s.issuperset("FishC")
True
>>> # 并集
>>> s.union({1, 2, 3})
{1, 2, 'h', 'C', 's', 'F', 3, 'i'}
>>> # 交集
>>> s.intersection("Fish")
{'h', 'F', 's', 'i'}
>>> s
{'C', 's', 'i', 'h', 'F'}
>>> # 差集
>>> s.difference("Fish")
{'C'}
>>> # 多参数
>>> s.union({1,2,3}, "Python")
{1, 2, 3, 'C', 'o', 'y', 't', 'h', 'n', 's', 'i', 'F', 'P'}
>>> s.intersection("php", "Python")
{'h'}
>>> s
{'C', 's', 'i', 'h', 'F'}
>>> s.difference("Php", "Python")
{'C', 's', 'F', 'i'}
>>> # 求对称差集,就是排除掉 s 集合和 other 容器中共有的元素后,剩余的所有元素,这个只能支持一个参数:

>>> >>>
>>> s.symmetric_difference("Python")
{'n', 'o', 'C', 's', 'y', 't', 'i', 'F', 'P'}
>>> # 检测子集可以使用小于等于号(<=):
>>> s <= set("FishC")
True
>>> s
{'C', 's', 'i', 'h', 'F'}
>>> # 检测真子集我们可以使用小于号(<)
>>> s < set("FishC")
False
>>> s < set("FishC.com.cn")
True
>>> # 使用大于号(>)和大于等于号(>=)就是检测真超集和超集:

>>> >>>
>>> s > set("FishC")
False
>>> s >= set("FishC")
True
>>> # 并集使用管道符(|):
>>> s | {1, 2, 3} | set("JAVA")
{'A', 1, 2, 3, 'C', 's', 'J', 'i', 'h', 'F', 'V'}
>>> 交集使用 and 符号(&):
>>> s
{'C', 's', 'i', 'h', 'F'}
>>> s & set("Php") & set("Python")
{'h'}
>>> # 差集使用减号(-):
>>> s - set("Php") - set("Python")
{'C', 'F', 's', 'i'}
>>> # 对称差集使用脱字符(^)
>>> s ^ set("Python")
{'o', 'C', 'y', 't', 'n', 's', 'i', 'F', 'P'}
页: [1]
查看完整版本: 集合-上