Python数据类型(六):集合set及使用

集合set及常用方法

set(集合)是一种数据类型,一个无序不重复的元素集合。

set的创建

set1 = {'name','age','class'} #直接创建
print(type(set1))
print(set1) #输出时顺序随机

list1 = ['name','age','salary']
set2 = set(list1)
print(set2)

'''
<class 'set'>
{'name', 'class', 'age'}
{'name', 'age', 'salary'}
'''

由于集合的不重复性,可用于列表的去重:

li = [3,3,4]
a1 = set(li)
a2 = list(a1)
print(a2)

'''
[3, 4]
'''

add() 添加

set.add(元素)  #一次只能添加一个元素
set1 = {'name','age','class'}
set1.add('ddf')
print(set1)

'''
{'name', 'class', 'age', 'ddf'}
'''

clear() 清除

set.clear() # 清除set中所有元素
set1 = {'name','age','class'}
set1.clear()
print(set1) #输出set()

'''
set()
'''

difference() 差集

set1.difference(set2) 
#取set1-set2的集合,即在set1中删除set1和set2中共有的元素,返回set1
#也可以用set1-set2表示
a = {1,2,3}
b = {2,3,6}
c = a.difference(b)
print(c)
print(b-a)
'''
{1}
{6}
'''

intersection() 交集

set1.intersection(set2) 
# 取两个集合中都存在的元素,返合集合
# 也可用set1 & set2 表示
a = {1,2,3}
b = {2,3,6}
c = a.intersection(b)
print(c)
print(a & b)
'''
{2, 3}
{2, 3}
'''

union() 并集

set1.union(set2)
#取两个集合中的所有元素
#也可用set1 | set2 表示
a = {1,2,3}
b = {2,3,6}
c = a.union(b)
print(c)
print(a | b)
'''
{1, 2, 3, 6}
{1, 2, 3, 6}
'''

pop() 移除(不常用)

set1.pop() 
# 若集合为全数字,删除最小正数
# 打印删除的元素
a = {4,2,6,24,-3,20,-6,-4,'0'}
print(a.pop())
print(a)
'''
2
{4, '0', 6, 20, 24, -6, -4, -3}
'''

discard() 指定元素移除

set.discard(元素)  
# 移除指定元素,一次只能移除一个元素
a = {4,2,6,24,-3,20,-6,-4,'0'}
a.discard(2)
a.discard('0')
print(a)

'''
{4, 6, 20, 24, -6, -4, -3}
'''

update() 更新

set1.update(set2)
# 将set2的数据添加进set1中
# 效果和union()取并集相同
a = {4,2,6}
a.update({3,4,5})
print(a)
a.update()
'''
{2, 3, 4, 5, 6}
'''
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风也很浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值