Python 集合 add()函数使用详解,集合添加元素

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

add函数使用详解

add() 函数可以给集合「添加」元素。

语法

python 复制代码
set.add( element )

参数

  • element :(必选)需要添加的元素

返回值

  • None,没有返回值,值修改原集合。

实例:向集合中添加元素

python 复制代码
set1 = {1, 2, 3}
set1.add(4)
print(set1)

输出:

bash 复制代码
{1, 2, 3, 4}

1、元素的顺序

add() 并不是将元素插入到集合的「末尾」。因为集合「不保证」元素的「顺序」,所以我们每次打印,元素的位置都会发生变化。

python 复制代码
set1 = {1, 2, 3}
set1.add('ZhangSan')
set1.add('LiSi')
set1.add('WangWu')
set1.add('QianLiu')
set1.add('SunQi')

print(set1)

输出:

bash 复制代码
{1, 2, 3, 'ZhangSan', 'QianLiu', 'WangWu', 'LiSi', 'SunQi'}

从输出结果可以看到,元素并非按照添加的顺序展示;尝试多次打印,会发现每次的顺序都不一样。

需要注意的是,使用「循环」的方式打印,元素的顺序就不会再发生变化

python 复制代码
set1 = {1, 2, 3}
set1.add('ZhangSan')
set1.add('LiSi')
set1.add('WangWu')
set1.add('QianLiu')
set1.add('SunQi')

i = 0
while i < 10:
    print(set1)
    i += 1

输出:

bash 复制代码
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}
{'WangWu', 1, 2, 3, 'SunQi', 'ZhangSan', 'LiSi', 'QianLiu'}

2、可以添加的元素类型

add() 添加的元素,可以是「字符串」、「元组」、「bytes类型」,不能是列表、集合、字典类型。

python 复制代码
set1 = {1, 2, 3}

set1.add('str')
set1.add((4, 5, 6))
set1.add(b'123')
print(set1)

输出:

bash 复制代码
{1, 2, 3, (4, 5, 6), 'str', b'123'}

添加不允许的元素类型时,会报错 TypeError: unhashable type: 'list'

3、添加重复的元素

集合中的元素不允许「重复」,如果添加集合中「已经存在」的元素,则不会执行添加的操作,当然,也不会报错。

python 复制代码
set1 = {1, 2, 3}
set1.add(3)
print(set1)

输出:

bash 复制代码
{1, 2, 3}

4、一次只能添加一个元素

add() 只接收一个参数,这意味着每次只能添加「一个元素」,否则会报错 TypeError: add() takes exactly one argument

python 复制代码
set1.add(1, 2)
相关推荐
用户0543243297012 分钟前
Next.js接大模型流式SSE实操踩坑
人工智能
Lihua奏13 分钟前
# 机器学习:机器是怎么从数据里学出规则的
机器学习
Assby16 分钟前
从 Function Calling 到 MCP:理解 Agent 工具调用的底层通信机制
人工智能·后端
小星AI39 分钟前
Claude Code 从入门到精通,一步到位
人工智能
后端小肥肠1 小时前
Codex + Obsidian 做人生副本视频:输入主题文案,直通剪映草稿
人工智能·aigc·agent
百度Geek说1 小时前
全链路研发智能体 ——从"体感能用"到"实际可用"的工程实践
人工智能
甲维斯2 小时前
500块的豆包,能帮我搞定这个么?!
人工智能
火山引擎开发者社区3 小时前
当 Agent 自己做 SRE:详解 ArkClaw 自动化可观测体系的工程实践
人工智能
Coffeeee5 小时前
两个例子,帮你快速理解什么是Token
人工智能·程序员·ai编程
饼干哥哥5 小时前
用AI全自动剪辑,日更 100条爆款视频——HyperFrames、Remotion、Git使用入门
人工智能·机器学习·ai编程