pin_drop当前位置:知识文库 ❯ 图文

Python集合add()方法

概述

add() 方法用于向集合中添加一个元素。如果元素已存在,集合不会发生变化(因为集合具有唯一性);如果元素不存在,则将其添加到集合中。add() 是修改集合最基本的方法。


语法

代码示例

set.add(element)
参数 说明
element 要添加的元素,必须是可哈希类型

返回值None(原地修改集合)


基本用法

添加新元素

代码示例

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

输出:

代码示例

{'apple', 'banana', 'cherry'}

添加已存在元素

代码示例

fruits = {"apple", "banana"}
fruits.add("apple")
print(fruits)
print(len(fruits))

输出:

代码示例

{'apple', 'banana'}
2

添加已存在的元素不会报错,集合保持不变。


添加不可哈希类型报错

集合中的元素必须是可哈希的(不可变类型),添加列表、字典等可变类型会报错:

代码示例

s = {1, 2, 3}
s.add([4, 5])

输出:

代码示例

TypeError: unhashable type: 'list'

正确方式:添加元组

代码示例

s = {1, 2, 3}
s.add((4, 5))
print(s)

输出:

代码示例

{1, 2, 3, (4, 5)}

常见应用场景

去重收集

代码示例

seen = set()
data = [1, 2, 3, 2, 4, 3, 5]
unique = []
for item in data:
    if item not in seen:
        seen.add(item)
        unique.append(item)
print(unique)

输出:

代码示例

[1, 2, 3, 4, 5]

动态构建集合

代码示例

tags = set()
tags.add("python")
tags.add("编程")
tags.add("教程")
print(tags)

注意事项

只添加单个元素add() 每次只能添加一个元素,添加多个应使用 update()

元素必须可哈希:列表、字典、集合等不可添加,元组可以。

原地修改add() 返回 None,不要写成 s = s.add(x)


小结

  • add(element):向集合添加一个元素

  • 元素已存在时不报错:集合不变

  • 元素必须是可哈希类型:不可变类型

  • 每次只能添加一个元素:多个用 update()


练习题

练习1

编写一个函数 collect_unique_words(text),接收一个字符串,返回文本中所有不重复单词的集合(忽略大小写)。

练习2

编写一个函数 track_visitors(),模拟网站访客追踪。使用集合记录已访问的用户ID,返回新访客的数量和总访客数量。

常见问题

add()方法添加已存在的元素会报错吗?

不会报错。如果元素已存在,集合保持不变,因为集合具有唯一性。

add()方法可以一次添加多个元素吗?

不可以。add()每次只能添加一个元素,如需添加多个元素应使用update()方法。

为什么添加列表会报错TypeError: unhashable type?

集合中的元素必须是可哈希的(不可变类型),列表是可变类型所以不可哈希。可以改用元组来添加。

add()方法的返回值是什么?

add()方法返回None,它是原地修改集合。不要写成 s = s.add(x) 这种形式。

元组可以作为集合元素添加吗?

可以。元组是不可变类型,属于可哈希类型,可以作为集合的元素添加。

标签: 集合 add方法 Python基础 去重 可哈希 集合操作

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Python集合创建与访问 下一篇: Python集合update方法

poll相关推荐