Python中的集合(set)是一种无序且不可重复的数据结构。Python中的集合类型分为可变集合(set)和不可变集合(frozenset),其中可变集合是可以被修改的,而不可变集合则是不可被修改的。那么,Python集合是否可变呢?
Python集合是否可变总结
总结如下:
- 可变集合(set)是可变对象,可以被修改,增加、删除元素。
- 不可变集合(frozenset)是不可变对象,不能被修改,增加、删除元素。
由此可见,Python集合是可以根据其类型进行区分其可变性的。
示例说明
下面给出两个示例说明,来展示集合可变性的影响。
示例1 可变集合(set)
# 定义可变集合
set1 = {1, 2, 3}
#输出集合
print("set1:", set1)
#往集合中添加元素
set1.add(4)
#再次输出集合
print("set1 after adding element:", set1)
上述代码中,首先定义了一个可变集合set1
,然后使用add()
方法向集合中添加了元素4,最后输出修改后的集合。执行结果如下:
set1: {1, 2, 3}
set1 after adding element: {1, 2, 3, 4}
从执行结果可以看到,集合set1
被成功修改,集合中添加了元素4。
示例2 不可变集合(frozenset)
# 定义不可变集合
f_set1 = frozenset({1, 2, 3})
# 输出集合
print("f_set1:", f_set1)
# 尝试往集合中添加元素
f_set1.add(4)
上述代码中,首先定义了一个不可变集合f_set1
,然后尝试使用add()
方法向集合中添加元素4。由于不可变集合是不能被修改的,所以这里的添加操作会报错:AttributeError: 'frozenset' object has no attribute 'add'。
执行结果如下:
f_set1: frozenset({1, 2, 3})
AttributeError: 'frozenset' object has no attribute 'add'
从执行结果可以看到,在尝试向不可变集合中添加元素时,程序立即报错退出,因为不可变集合是不可被修改的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python集合是否可变总结 - Python技术站