📌  相关文章
📜  'set' 对象不可逆 - Python (1)

📅  最后修改于: 2023-12-03 15:13:02.835000             🧑  作者: Mango

'set' 对象不可逆 - Python

在 Python 中,set 是一个强大的数据类型,它是一个无序不重复的集合。但是,一个非常重要的特性是 set 对象不可逆。这意味着一旦创建了一个 set 对象,就无法修改它。

创建 set 对象

使用花括号 {}set() 函数可以创建一个空的 set 对象。

my_set = {}
print(type(my_set))  # <class 'dict'>

my_set = set()
print(type(my_set))  # <class 'set'>

在定义 set 对象时,可以传入任何可迭代对象(例如列表、元组、字符串等)作为参数来创建一个 set 对象。

fruits = {"apple", "banana", "cherry"}
print(fruits)

list_of_numbers = [1, 2, 3, 1, 2, 3, 4]
my_set = set(list_of_numbers)
print(my_set)  # {1, 2, 3, 4}
不可变性

当一个 set 对象被创建之后,它的元素不能被修改。当尝试修改一个 set 对象时,Python 会抛出一个 TypeError 异常。

fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
fruits.remove("apple")
print(fruits)  # {'banana', 'orange', 'cherry'}

fruits[0] = "pear"
# TypeError: 'set' object does not support item assignment

尝试修改一个 set 对象的元素是不可行的,因为 set 对象的元素是不按顺序保存的,所以你无法通过给定的索引找到一个元素并修改它。

总结

在 Python 中,set 对象是一个不可变的集合。一旦创建了一个 set 对象,就无法修改它。这个特性虽然可能有限制,但它确实提供了很多方便的方法来处理数据。