python

python set方法支持哪些数据类型

小樊
81
2024-12-03 12:36:17
栏目: 编程语言

Python set(集合)支持的数据类型主要有以下几种:

  1. 数字类型

    • 整数(int)
    • 浮点数(float)
  2. 字符串类型

    • 字符串(str)
  3. 布尔类型

    • 布尔值(bool)
  4. 可迭代对象

    • 列表(list)
    • 元组(tuple)
    • 集合(set)本身也可以作为可迭代对象,用于创建新的集合。
  5. 其他可迭代对象

    • 字典(dict)的键(keys)和值(values),但通常不推荐这样做,因为字典是无序的,而且键通常是不可哈希的。
    • 任何实现了__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()}  # 但要注意,字典的键本身是无序的,且可能不是可哈希的

0
看了该问题的人还看了