frozenset在python中什么意思,set在python中
目前Python有两种内置的集合类型:set和frozenset,其中set是可变的,frozenset是不可变的。本文将通过实例详细讲解两者的使用方法,感兴趣的朋友可以看看。
00-1010简介建筑基本采用交、并、差、对称差。没有交集、子集和超集运算符可用于集合运算。
目录
集合集合是由唯一的可散列对象组成的无序多项目集合。例如,列表不能被散列,所以它不能被用作集合中的一个项目。
集合的常见用途包括成员检测、序列去重、数学中的集合类计算,如交集、并集、差集、对称差集等。
Set不记录元素位置或插入顺序。因此,set不支持索引、切片或其他顺序操作。
目前有两种内置集合类型,set和frozenset:
Set是可变的,它的内容可以通过添加()和移除()来改变。因为是可变类型,所以不能哈希,所以不能作为字典键或者其他集合的元素。frozenset是不可变的,所以它可以被散列,所以它可以用作字典的键或其他集合的元素。除了使用set构造函数,还可以通过在大括号中包含逗号分隔的元素列表来创建非空集(不是frozenset),例如: {jack , sjoerd}。
简介
花括号由逗号分隔。
集合求导
类型构造函数
A={1,2,3} #大括号之间用逗号分隔。
B={i for i in range(4) if i 0} #集合求导
C=set([1,2,3]) #类型构造函数
打印(a,类型(a))
打印(b,类型(b))
打印(c,类型(c))
# {1,2,3}类“集合”
# {1,2,3}类“集合”
# {1,2,3}类“集合”
构造
a={1,2,3}
Print(len(a)) #元素数量
Print(1合1)#检测成员
Print(1不在a中)# detect成员
# 3
#真的
#错误
基本使用
A={1,2,3}
B={3,4,5}
打印(a .交集(B)) #交集
Print(A.union(B)) # union
Print(A.difference(B)) #差异集
print(a . symmetric _ difference(b))#对称差集
# {3}
# {1, 2, 3, 4, 5}
# {1, 2}
# {1, 2, 4, 5}
交集、并集、差集、对称差集
与other没有交集:isdisjoint(other)是other: issubset(other)的子集,等价于set=other是other: issuperset(other)的超集,等价于set=other={1,2,3}
B={3,4,5}
C={1,2,3,4,5,6}
D={7,8,9}
#没有交集吗
print(A.isdisjoint(A)) # False
print(A.isdisjoint(B)) # False
print(A.isdisjoint(C)) # False
print(A.isdisjoint(D)) # True
打印()
#子集?
印刷(A.issubset(A))
# True
print(A.issubset(B)) # False
print(A.issubset(C)) # True
print(A.issubset(D)) # False
print()
# 是否超集
print(C.issuperset(A)) # True
print(C.issuperset(B)) # True
print(C.issuperset(C)) # True
print(C.issuperset(D)) # False
运算符
A、B、C 是 C 的子集,C 是 A、B、C 的超集
A、B 是 C 的真子集,C 是 A、B 的真超集
运算符含义<=子集<真子集>=超集>真超集&交集并集-差集^对称差集
A = {1, 2, 3}
可用于 set 的操作
不可用于不可变的 frozenset
操作含义add(elem)添加单个元素remove(elem)移除单个元素,如果不存在报错discard(elem)移除单个元素,如果存在pop()移除并返回任一元素,集合为空报错clear()移除所有元素update(*others)
set = other添加元素difference_update(*others)
set -= other移除元素symmetric_difference_update(other)
set ^= other移除相同元素
A = {1, 2, 3}
A = {1, 2, 3}
以上就是Python集合之set和frozenset的使用详解的详细内容,更多关于Python集合set frozenset的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。