更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: Python/Ruby
2023-02-17 15:33:56
集合(set)是无序的、不重复的数据集合,它本身是可变的,但里面的元素是不可变类型。那么Python语言中集合是可变的吗?很多小伙伴应该都很关心这个问题,小编通过文章为大家解答一下。
集合是不同元素的无序集合。与序列类型不同,如列表、字符串等,集合是没有切片操作的。
Python集合分为两种类型:
set-可变集合,集合中的元素可以动态的增加或删除。
frozenset-不可变集合,集合中的元素不可改变。
注:对于并集、交集、差集等的返回值,与{BANNED}最佳左边的操作数具有相同的类型。例如:s & t取交集。S集合是一个set类型的集合,t集合是一个frozenset类型的集合,则返回的结果将是set类型的集合。
rozenset()函数
可以将其它的组合数据类型转化为不可变集合类型,返回一个无重复元素且排序任意的不可变集合。
语法:
frozenset() -> empty frozenset object 返回一个不可变空集合
frozenset(iterable)-> frozenset object 返回一个不可变新集合
iterable——要转换的组合数据类型
示例:
s1 = frozenset() #创建一个不可变的空集合
l = [1.23,"a"] #列表类型
d = {1:"a",2:"b"} #字典类型
a = (1,2,"b") #元组类型
s = "厉害了,我的国家" #字符串
c = set("1,2,3a") #可变集合
#将列表,字典,元组,字符串 可变集合 转化为不可变集合
s2 = frozenset(s)
s3 = frozenset(l)
s4 = frozenset(d)
s5 = frozenset(a)
s6 = frozenset(c) #将可变集合转换为不可变集合s6
print(s1)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)