pin_drop当前位置:知识文库 ❯ 图文
Python集合add()方法
概述
add() 方法用于向集合中添加一个元素。如果元素已存在,集合不会发生变化(因为集合具有唯一性);如果元素不存在,则将其添加到集合中。add() 是修改集合最基本的方法。
语法
代码示例
set.add(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) 这种形式。
元组可以作为集合元素添加吗?
可以。元组是不可变类型,属于可哈希类型,可以作为集合的元素添加。
本文涉及AI创作
内容由AI创作,请仔细甄别