add()方法——向集合中添加元素

1.语法要点

在这里插入图片描述

add()方法用于向集合中添加元素。
集合的元素只能是不可变数据类型,因此不能向集合中添加列表、元组、集合。
暨add()方法的参数不能是列表、元组、集合。

2.实操练习

(1)向集合中添加不存在的元素

# 用{ }创建集合
set_city = {'北京','上海','广州'}
print('添加元素前的集合为:',set_city)

# 用add()方法——向集合中添加元素
# 集合名.add(要添加的元素)
set_city.add('重庆')
print('添加元素后的集合为:',set_city)

【终端输出】

添加元素前的集合为: {'上海', '北京', '广州'}
添加元素后的集合为: {'重庆', '上海', '北京', '广州'}

(2)向集合中添加已经存在的元素

# 用{ }创建集合
set_city = {'北京','上海','广州'}
print('添加元素前的集合为:',set_city)

# 用add()方法——向集合中添加元素
# 集合名.add(要添加的元素)
set_city.add('上海')
print('添加元素后的集合为:',set_city)

【终端输出】

添加元素前的集合为: {'上海', '北京', '广州'}
添加元素后的集合为: {'上海', '北京', '广州'}

如果要添加的元素已经存在集合中,则不执行添加操作,程序也不会报错。

(3)add()方法每次只能添加一个元素

# 用{ }创建集合
set_city = {'北京','上海','广州'}
print('添加元素前的集合为:',set_city)

# 用add()方法——向集合中添加元素
# 集合名.add(要添加的对象)
set_city.add('重庆','四川')
print('添加元素后的集合为:',set_city)

【终端输出】

添加元素前的集合为: {'上海', '北京', '广州'}

TypeError: set.add() takes exactly one argument (2 given)

上述代码set_city.add(‘重庆’,‘四川’)中有2个要添加的元素,程序报错。
set.add() takes exactly one argument (2 given):set.add()只接受一个参数(给定2个)。
add()方法中要添加的对象只能是一个。

3.知识回顾

(1)open()函数——打开文件并返回文件夹对象

【任务目标】
1.在当前文件夹里新建一个txt文档,命名为【联系电话.txt】。
2.在【联系电话.txt】里面输入10个电话号码(要有重复的号码)后关闭保存。
如下图所示:
在这里插入图片描述

3.打开文档并输出文档里的内容。

用open函数输出文档里内容
file = '联系电话.txt'
mode = 'r'
f = open (file, mode , encoding='utf-8')
print(f.read( ))
f.close( )

【终端输出】

18066661111
18066661111
18066661111
18066661111
18066662222
18066662222
18066662222
18066663333
18066663333
18066663333
用with open 输出文档里内容
with open ('联系电话.txt', 'r') as f :
    print(f.read( ))

【终端输出】

18066661111
18066661111
18066661111
18066661111
18066662222
18066662222
18066662222
18066663333
18066663333
18066663333
用with open 加for循环输出文档里内容
print("联系电话.txt文档内的信息如下:")
with open ('联系电话.txt', 'r') as f :
    for i in f :
        print(i)

【终端输出】

联系电话.txt文档内的信息如下:
18066661111

18066661111

18066661111

18066661111

18066662222

18066662222

18066662222

18066663333

18066663333

18066663333

(2)strip()方法——去除字符串头尾特殊字符

strip(‘$’)去除首尾的$字符
# 新建变量a存储字符串
a = '$100'
print('去除字符前:',a)

# 变量名.strip(要去除的字符)
# a.strip('$')
print('去除$字符后:',a.strip('$'))

【终端输出】

去除字符前: $100
去除$字符后: 100
strip(’ ')去除首尾的空格
# 新建变量a存储字符串,字符串前有多个空格
a = '           安迪Python学习笔记'
print('去除字符前:',a)

# 变量名.strip(要去除的字符)
# a.strip(' ')
print('去除字符后:',a.strip(' '))

【终端输出】

去除字符前:            安迪Python学习笔记
去除字符后: 安迪Python学习笔记

【温馨提示】
注意strip(’ ‘)函数中的引号内必须输入一个空格。
strip(’‘):没有空格。
strip(’ '):有空格。

strip(‘\n’)去除换行符’\n’
print("联系电话.txt文档内的信息如下:")
with open ('联系电话.txt', 'r') as f :
    for i in f :
        print(i.strip('\n'))

【终端输出】

联系电话.txt文档内的信息如下:
18066661111
18066661111
18066661111
18066661111
18066662222
18066662222
18066662222
18066663333
18066663333
18066663333

用代码输出【联系电话.txt】文档内容时,两个号码之间有一个空行。
如果我们不想要空行,可以使用strip(‘\n’)去除。
如果打开的是csv文件,我们可以在open函数中加参数newline = ''就能去除空行。

4.综合练习

【任务目标】
1.用with open 加for循环读取【联系电话.txt】文档内容。
2.用add()方法将文档内容添加到集合中。
3.输出集合。

# 新建一个空集合
set_0 = set( )

print("联系电话文档内的信息如下:")

with open ('联系电话.txt', 'r', encoding='utf-8') as f :
    for i in f :
        print(i)
        
        # 用add()方法——向集合中添加元素
        # 集合名.add(要添加的元素)
        set_0.add(i)
print("输出集合:",set_0)


【终端输出】

联系电话文档内的信息如下:
18066661111

18066661111

18066661111

18066661111

18066662222

18066662222

18066662222

18066663333

18066663333

18066663333
输出集合: {'18066663333\n', '18066661111\n', '18066663333', '18066662222\n'}

集合是不能包含重复的元素的,因此输出集合时程序做了去重。
文档中的两个号码之间有空行,因此元素默认带转义字符\n
因为最后一个电话号码后没有空行,因此集合有2个尾号3333的元素:'18066663333\n''18066663333'

# 新建一个空集合
set_0 = set( )

print("联系电话文档内的信息如下:")

with open ('联系电话.txt', 'r', encoding='utf-8') as f :
    for i in f :
        print(i.strip('\n'))
        
        # 用add()方法——向集合中添加元素
        # 集合名.add(要添加的元素)
        set_0.add(i.strip('\n'))
print("输出集合:",set_0)

【终端输出】

联系电话文档内的信息如下:
18066661111
18066661111
18066661111
18066661111
18066662222
18066662222
18066662222
18066663333
18066663333
18066663333
输出集合: {'18066663333', '18066662222', '18066661111'}

5.课后总结

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐