栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 集合13 update()方法—更新为并集

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 集合13 update()方法—更新为并集

13 update()方法—更新为并集

文章目录
  • 13 update()方法—更新为并集
    • 1.语法要点
    • 2.实操练习
      • (1)update()方法的参数为集合
      • (2)update()方法的参数为列表
      • (3)update()方法的参数为元组
      • (4)update()方法的参数为字典
      • (5)update()方法的参数为字符串
      • (6)update()方法的参数为多个可迭代对象
    • 3.知识回顾
      • (1)update方法和union方法的异同点
        • 两个方法的参数一样
        • 作用一样
        • 返回值不一样
      • (2)update方法和intersection_update()的异同点
        • 两个方法的参数一样
        • 都没有返回值,都改变集合1
        • 作用不一样
    • 4.课后总结

1.语法要点

update()方法——返回集合与可迭代对象的并集。
即返回集合1与其他可迭代对象(集合、列表、元组、字典、字符串)中含有的所有元素,重复的元素仅保留1个(集合不能包含重复的元素)。
update()方法的参数可以是一个或多个可迭代对象。
update()方法的参数不能是整数或浮点数。
update()方法改变集合1,没有返回值。

2.实操练习 (1)update()方法的参数为集合
# 用set()方法将字符串转换为集合
set_1 = set('123')
set_2 = set('345')

# 用{}新建集合
set_3 = {3, 6, 8, 9}

print('更新前的集合1:',set_1)
print('更新前的集合2:',set_2)
print('更新前的集合3:',set_3,'n')

# 用update()方法将集合1更新为多个集合的并集
set_1.update(set_2,set_3)
print('更新后的集合1:',set_1)
print('更新后的集合2:',set_2)
print('更新后的集合3:',set_3)

【终端输出】

更新前的集合1: {'1', '2', '3'}
更新前的集合2: {'4', '5', '3'}
更新前的集合3: {8, 9, 3, 6} 

更新后的集合1: {3, '5', 6, 8, '4', 9, '2', '3', '1'}
更新后的集合2: {'4', '5', '3'}
更新后的集合3: {8, 9, 3, 6}

用update更新集合后:
集合1变成3个集合的并集。
集合2、集合3还是原来的集合,没有改变。

(2)update()方法的参数为列表
# 用set()方法将字符串转换为集合
set_1 = set('123')

# 用list()方法将字符串转换为列表
list_1 = list('345')

# 输出list_1的数据类型
print(type(list_1,),'n')

print('更新前的集合1:',set_1)
print('更新前的列表:',list_1,'n')

# 用update()方法将集合1更新为集合与列表的并集
set_1.update(list_1)

print('更新后的集合1:',set_1)
print('更新后的列表:',list_1)

【终端输出】

 

更新前的集合1: {'1', '2', '3'}
更新前的列表: ['3', '4', '5'] 

更新后的集合1: {'5', '4', '2', '3', '1'}
更新后的列表: ['3', '4', '5']

用update更新集合后:
集合1变成集合与列表的并集。
列表还是原列表,没有改变。

(3)update()方法的参数为元组
# 用set()方法将字符串转换为集合
set_1 = set('123')

# 用tuple()方法将字符串转换为元组
tuple_1 = tuple('345')

# 输出tuple_1的数据类型
print(type(tuple_1,),'n')

print('更新前的集合1:',set_1)
print('更新前的元组:',tuple_1,'n')

# 用update()方法将集合1更新为集合与元组的并集
set_1.update(tuple_1)

print('更新后的集合1:',set_1)
print('更新后的元组:',tuple_1)

【终端输出】

 

更新前的集合1: {'1', '2', '3'}
更新前的元组: ('3', '4', '5') 

更新后的集合1: {'5', '4', '2', '3', '1'}
更新后的元组: ('3', '4', '5')

用update更新集合后:
集合1变成集合与元组的并集。
元组还是原来的元组,没有改变。

(4)update()方法的参数为字典
# 用set()方法将字符串转换为集合
set_1 = set('123')

# 用{}创建1个字典
dict_1 = {
    1:'学号',
    2:'姓名',
    3:'年龄',
}

print('更新前的集合1:',set_1)
print('更新前的字典:',dict_1,'n')

# 用update()方法将集合1更新为集合与字典的并集
set_1.update(dict_1)

print('更新后的集合1:',set_1)
print('更新后的字典:',dict_1)

【终端输出】

更新前的集合1: {'1', '2', '3'}
更新前的字典: {1: '学号', 2: '姓名', 3: '年龄'} 

更新后的集合1: {'1', 1, 2, 3, '2', '3'}
更新后的字典: {1: '学号', 2: '姓名', 3: '年龄'}

用update更新集合后:
集合1变成集合与字典的并集。
字典还是原来的字典,没有改变。

【温馨提示】
字典中的键是整数类型的数据:1,2,3
集合中的元素是字符串类型的数据:‘1’,‘2’,‘3’
因此得到的新集合有6个元素。

(5)update()方法的参数为字符串
# 用set()方法将字符串转换为集合
set_1 = set('123')
# 声明一个字符串
str_1 = '345'

print('更新前的集合1:',set_1)
print('更新前的字符串:',str_1,'n')

# 用update将集合1更新为集合与字符串的交集
set_1.update(str_1)

print('更新后的集合1:',set_1)
print('更新后的字符串:',str_1)

【终端输出】

更新前的集合1: {'1', '2', '3'}
更新前的字符串: 345 

更新后的集合1: {'5', '4', '2', '3', '1'}
更新后的字符串: 345

用update更新集合后:
集合1变成集合与字符串的并集。
字符串还是原来的字符串,没有改变。

(6)update()方法的参数为多个可迭代对象
# 用set()方法将字符串转换为集合
set_1 = set('123')
set_2 = set('345')

print('更新前的集合1:',set_1)

# 声明一个字符串
str_1 = '345'

# 用{}创建1个字典
dict_1 = {
    1:'学号',
    2:'姓名',
    3:'年龄',
}

# 用tuple()方法将字符串转换为元组
tuple_1 = tuple('345')

# 用list()方法将字符串转换为列表
list_1 = list('345')

# 用update更新集合1为集合与多个可迭代对象的并集
set_1.update(str_1, list_1, tuple_1, dict_1, set_2)

print('更新后的集合1:',set_1)

【终端输出】

更新前的集合1: {'1', '2', '3'}
更新后的集合1: {1, 2, 3, '5', '4', '2', '3', '1'}
3.知识回顾 (1)update方法和union方法的异同点 两个方法的参数一样

update方法和union方法参数都是可迭代对象(集合、列表、元组、字典、字符串)。
参数都不能是整数或浮点数。

作用一样

作用都是取集合与多个可迭代对象的并集。

返回值不一样

union()方法返回的是一个新的集合。
update()方法没有返回值。

union()方法用于取集合1和集合2的并集,并将并集作为一个新的集合返回,且不改变集合1和集合2。
update()方法用于取集合1和集合2的并集,并将取到的交集更新到集合1中,改变集合1不改变集合2,且该方法没有返回值。

(2)update方法和intersection_update()的异同点 两个方法的参数一样

参数都是可迭代对象(集合、列表、元组、字典、字符串)。
参数都不能是整数或浮点数。

都没有返回值,都改变集合1 作用不一样

intersection_update()方法得到是交集(都有的元素)。
update()方法得到的是并集(所有元素)。

print("**********update()方法**********")
# 用{}创建集合
set_1 = {1, 2, 3, 4}
set_2 = {3, 4, 5, 6}

print('取并集前的集合1:',set_1)
print('取并集前的集合2:',set_2,'n')

# 用update()方法取并集
set_1.update(set_2)

print('取并集后的集合1:',set_1)
print('取并集后的集合2:',set_2,'n')

print("**********intersection_update()方法**********")
# 用{}创建集合
set_1 = {1, 2, 3, 4}
set_2 = {3, 4, 5, 6}

print('取交集前的集合1:',set_1)
print('取交集前的集合2:',set_2,'n')

# 用intersection_update 取交集
set_1.intersection_update(set_2)
print('取交集后的集合1:',set_1)
print('取交集后的集合2:',set_2)

【终端输出】

**********update()方法**********
取并集前的集合1: {1, 2, 3, 4}
取并集前的集合2: {3, 4, 5, 6} 

取并集后的集合1: {1, 2, 3, 4, 5, 6}
取并集后的集合2: {3, 4, 5, 6} 

**********intersection_update()方法**********
取交集前的集合1: {1, 2, 3, 4}
取交集前的集合2: {3, 4, 5, 6} 

取交集后的集合1: {3, 4}
取交集后的集合2: {3, 4, 5, 6}
4.课后总结

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/929329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号