持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的11天,点击查看活动详情
👨🎓作者:Java学术趴
💌公众号:Java学术趴
🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。
🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号Java学术趴联系小编。
☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!
👋大家好!我是你们的老朋友Java学术趴。任何语言中都存在一些内置的数据结构,比如:集合、列表、数组等等。 今天小编给大家分享一下Python中的集合,列表、字典、元组在前面已经给大家介绍过了,今天咱们聊聊set集合。
10.6 set集合
set集合定义:
set也是Python中的一种数据类型,是一个无序且存储不重复元素的集合
set集合和字典类似,都是使用{}来包裹元素,但是字典使用的key--value的形式,而set集合是直接存储元素。
set集合的创建方式
第一种:
charSetL: set = {'1', '2'}
第二种:
charList: list = ['1', '2']
charSetL: set = sset(charList)
# Python中的set集合,无序不重复的集合
# 创建Python的两种方式
# 第一种直接创建
charSet1: set = {'小明', 20, True}
print(charSet1)
# {True, 20, '小明'}
# 第二种使用 set() 方法创建
charList: list = ['小明', 20, True]
charSet2: set = set(charList)
print(charSet2)
# {True, 20, '小明'}
10.6.1 set集合常用的方法
10.6.1 add() :添加元素。在原来的set集合中添加元素,不会创建新的set集合。
# Python中的set集合,无序不重复的集合
charSet: set = {'小明', 20, True}
print(charSet)
# {True, 20, '小明'}
# add()函数:添加元素
charSet.add('Python')
print(charSet)
# {'小明', 20, 'Python', True}
10.6.2 clear() :清空元素。在原来的set集合中添加元素,不会创建新的set集合。
charSet.clear()
print(charSet)
# set() 空的set集合
10.6.3 difference() :比较差集。只保留a中存在的,和b重复的去除掉。返回值是一个新的set集合
# Python中的set集合,无序不重复的集合
# difference()获取两个集合的差集。谁调取的方法就保留谁的
charSet1: set = {'小明', 20, True}
charSet2: set = {'小王', 20, False}
print(charSet1.difference(charSet2))
# {'小明', True}
print(charSet2.difference(charSet1))
# {False, '小王'}
# difference()函数相当于两个set集合直接相减
print(charSet1 - charSet2)
# {True, '小明'}
print(charSet2 - charSet1)
# {False, '小王'}
10.6.3 intersection() 获取并集。保留两个集合中的相同的元素
# Python中的set集合,无序不重复的集合
# difference()获取两个集合的并集。谁调取的方法就保留谁的
charSet1: set = {'小明', 20, True}
charSet2: set = {'小王', 20, False}
print(charSet1.intersection(charSet2))
# {20}
10.6.4 intersection() 获取交集。保留两个集合中的相同的元素
# Python中的set集合,无序不重复的集合
# difference()获取两个集合的并集。谁调取的方法就保留谁的
charSet1: set = {'小明', 20, True}
charSet2: set = {'小王', 20, False}
print(charSet1.intersection(charSet2))
# {20}
10.6.4 intersection() 获取并集。保留两个集合中的全部元素
set集合中不存在重复元素,所以要去除重复元素
# Python中的set集合,无序不重复的集合
# union() 获取两个集合的并集
charSet1: set = {'小明', 20, True}
charSet2: set = {'小王', 20, False}
print(charSet1.union(charSet2))
# {False, True, 20, '小王', '小明'}
# union()函数和|的作用是一样的
print(charSet1 | charSet2)
# {False, True, 20, '小王', '小明'}
10.6.5 pop() 获取元素。从set集合中获取元素,返回值是这个获取的元素。并且会删除set集合中的这元素
# Python中的set集合,无序不重复的集合
# pop() 获取集合中的元素,取出之后会删除集合中的这个元素
# pop() 会删除集合中的第一个元素
charSet1: set = {'小明', 20, True}
var = charSet1.pop()
print(var)
# True
print(charSet1)
# {20, '小明'}
# 会把获取的这个元素删除
10.6.6 discard() 移除指定的数据。移除set集合中指定的元素,没有返回值
# Python中的set集合,无序不重复的集合
# discard() : 移除set集合后中指定的元素
charSet1: set = {'小明', 20, True}
var = charSet1.discard(20)
print(var)
# NOne
print(charSet1)
# {'小明', True}
10.6.7 update() : 更新元。将一个set集合中更新到另一个集合中。(无返回值)
# Python中的set集合,无序不重复的集合
# update() : 存在两个集合,会把第二个set集合中的元素添加到指定的集合中
# 如果存在重复元素,就会删除,因为set集合中不可以存储重复的元素
charSet1: set = {'小明', 20, True}
charSet2: set = {'小李', 20, False}
var = charSet1.update(charSet2)
print(var)
# None
print(charSet1)
# {False, True, 20, '小明', '小李'}