Python set(集合)支持的数据类型主要有以下几种:
数字类型:
字符串类型:
布尔类型:
可迭代对象:
其他可迭代对象:
__iter__()方法的对象,这意味着自定义对象也可以被添加到集合中,只要它们提供了迭代器协议。需要注意的是,集合中的元素必须是可哈希的(hashable),这意味着不可变的数据类型(如整数、浮点数、字符串和元组)可以作为集合的元素,而可变的数据类型(如列表和字典)则不能。
例如:
# 使用整数作为集合元素 s = {1, 2, 3} # 使用字符串作为集合元素 s = {'apple', 'banana', 'cherry'} # 使用元组作为集合元素 s = {(1, 2), (3, 4)} # 尝试使用列表作为集合元素(会引发错误) # s = {[1, 2], [3, 4]} # TypeError: unhashable type: 'list' # 尝试使用字典的键作为集合元素(通常不推荐,但可以这样做) # s = {d.keys()} # 但要注意,字典的键本身是无序的,且可能不是可哈希的