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)
相关推荐
陌上阳光11 分钟前
动手学深度学习70 BERT微调
人工智能·深度学习·bert
宋发元21 分钟前
如何使用正则表达式验证域名
python·mysql·正则表达式
茶颜悦色vv31 分钟前
蓝队知识浅谈(中)
网络·web安全·网络安全
Xlbb.36 分钟前
安全见闻6-9
网络·安全·web安全·网络安全
XMYX-01 小时前
Python 操作 Elasticsearch 全指南:从连接到数据查询与处理
python·elasticsearch·jenkins
正义的彬彬侠1 小时前
sklearn.datasets中make_classification函数
人工智能·python·机器学习·分类·sklearn
belldeep1 小时前
python:用 sklearn 转换器处理数据
python·机器学习·sklearn
ctrey_1 小时前
2024-11-13 学习人工智能的Day26 sklearn(2)
人工智能·学习·sklearn
安静的_显眼包O_o1 小时前
from sklearn.preprocessing import Imputer.处理缺失数据的工具
人工智能·python·sklearn
安静的_显眼包O_o1 小时前
from sklearn.feature_selection import VarianceThreshold.移除低方差的特征来减少数据集中的特征数量
人工智能·python·sklearn