CodeGym /课程 /Python SELF ZH /集合操作

集合操作

Python SELF ZH
第 9 级 , 课程 3
可用

3.1 元素数量的确定

可以使用函数 len()来确定集合中的元素数量。这个函数返回集合中唯一元素的数量。

使用函数 len() 的示例


my_set = {1, 2, 3, 4, 5}
print(len(my_set))  # 输出: 5
        

在这个例子中,集合 my_set 包含五个元素。函数 len() 返回这个数量。

检查集合是否为空

你可以使用函数 len() 来检查集合是否为空。这在条件语句和循环中很有用。


my_set = set()

if len(my_set) == 0:
    print("集合是空的")
else:
    print("集合不是空的")
        

3.2 类型的确定

如果你不确定变量中存储的是否是集合,为了更确定可以使用函数 type()。Python 中的 type() 函数返回对象的类型。这对于检查数据类型很有用,尤其是当你处理集合和其他数据集合时。

示例:


my_set = {1, 2, 3}
print(type(my_set))  # 输出: <class 'set'>

        

在这个例子中,type(my_set) 返回 <class 'set'>,表明 my_set 是一个集合。

数据类型检查

你可以使用 type() 函数在操作前检查数据类型。这样可以避免由于数据类型不兼容而导致的错误。


def add_element(collection, element):
    if type(collection) is set:
        collection.add(element)
    else:
        print("错误: 提供的集合不是一个集合")
        
my_set = {1, 2, 3}
add_element(my_set, 4)  # 元素将会被添加
add_element([1, 2, 3], 4)  # 将输出错误
        

在这个例子中,函数 add_element() 会检查提供的集合是否为集合,然后再添加元素。

type() 方法在创建可能包含多种数据类型的复杂数据结构时非常有用。它允许动态地确定数据类型,并 相应地处理它们。

示例:


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

花括号用于创建集合和创建字典(内部有些不同的语法)。默认情况下,如果括号内没有元素——那是创建字典!

3.3 元素的顺序

集合是一种特殊类型的数据集合,只存储唯一的元素。集合的一个关键特性是它们是无序的。这意味着集合中的元素没有固定的顺序,并且元素的顺序可能在每次迭代时发生改变。

Python 中的集合是基于哈希表实现的。当你向集合中添加元素时,Python 计算其哈希值,并使用该值来确定元素在哈希表中的位置。这种数据结构提供了快速的成员检查、元素添加和删除。然而,由于使用了哈希值,元素的顺序不会被保留,也无法预测

集合无序性的示例

来看个简单的例子:


my_set = {3, 1, 2}
for item in my_set:
    print(item)
    

执行这段代码时,元素可能以任意顺序输出,例如 1 2 3 或 3 1 2。这意味着集合中元素的输出顺序不被保证,并且可能在每次运行程序时改变

无序性的重要性

集合的无序性带来了几个重要的影响:

  • 缺乏索引:与列表和元组不同,集合不支持通过索引访问元素。 尝试执行 my_set[0] 会引发错误
  • 性能:无序性使集合在性能方面更加有效,特别是在添加和删除元素时。
  • 元素的唯一性:集合会自动移除重复项,这使它们非常适合用于存储唯一的数据。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION