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)
相关推荐
Lizhihao_8 分钟前
Python如何写Selenium全攻略
开发语言·python
m0_7381207242 分钟前
网络安全编程——TCP客户端以及服务端Python实现
python·tcp/ip·安全·web安全·网络安全
EasyCVR1 小时前
从汇聚到智能:解析视频融合平台EasyCVR视频智能分析技术背后的关键技术
大数据·人工智能
m0_650108241 小时前
【论文精读】GenTron:基于 Transformer 的扩散模型革新图像与视频生成
人工智能·论文精读·transformer扩散模型·文生图(t2i)·文生视频(t2v)
文火冰糖的硅基工坊1 小时前
[人工智能-大模型-66]:模型层技术 - 两种编程范式:数学函数式编程与逻辑推理式编程,构建起截然不同的智能系统。
人工智能·神经网络·算法·1024程序员节
创思通信1 小时前
树莓派的YOLO智能AI识别系统,识别ESP32还是STM32
人工智能·stm32·yolo
AntBlack1 小时前
不当韭菜 : 好像真有点效果 ,想藏起来自己用了
前端·后端·python
funfan05171 小时前
【开发AI】Windows安装和使用Milvus的保姆级教程
人工智能·windows·milvus
Fuly10241 小时前
使用docker安装向量数据库milvus
人工智能