Python Learning(六)-集合

一 集合的介绍

-集合和列表非常相似
不同点:
	1.集合中只能存储不可变对象
	2.集合中存储的对象是无序的,不是按照元素的插入顺序保存的
	3.集合中不能出现重复的元素

使用{}或set()函数来创建集合
s={1,2,5,5,66,23,4}
# set([1, 2, 4, 5, 66, 23]) 剔除重复元素,并且无序

集合中只能存储不可变对象
s={[1,2],[3,4]}
print(type(s),type(s1))
# TypeError: unhashable type: 'list'

创建一个空集合必须使用set()
s=set()
s1={}
s=set()
s1={}
print(type(s),type(s1))
# (<type 'set'>, <type 'dict'>)

可以通过set()将序列和字典转为集合
s=set([1,2,3,4])
print(type(s))
# <type 'set'>

使用set()将字典转为集合时,只会包含字典中的键
s=set({'a':1,'b':2})
print(s)
# set(['a', 'b'])

#集合可以使用in not in
print(a in s)

使用len获取集合中元素的数量
len(s)

往集合中添加元素
s.add() 没有返回值

s=set({'a':1,'b':2})
s.add('c')
print(s)
# set(['a', 'c', 'b'])

update() 注:可以传递序列和字典作为参数
将一个集合中的元素添加到当前集合中 
s={1,2,3}
s1={2:'a',4:'b',5:'c'}
s.update(s1)
print(s)
# set([1, 2, 3, 4, 5]

pop()随机删除并返回集合中的元素
s.pop()

remove()
s={1,2,3}
s1={2:'a',4:'b',5:'c'}
s.update(s1)
s.remove(5)
print(s)
# set([1, 2, 3, 4])

clear()
清空集合

copy()
对集合进行浅复制

二 集合中的运算

对集合进行运算时不会影响原来的集合,而是返回一个运算结果

交集运算
&
s={1,2,3,4}
s1={4,5,6,7}
result=s&s1
print(result)
# set([4])

并集运算
|
s={1,2,3,4}
s1={4,5,6,7}
result=s|s1
print(result)
# set([1, 2, 3, 4, 5, 6, 7])

差集运算
-
s={1,2,3,4}
s1={4,5,6,7}
result=s-s1
print(result)
# set([1, 2, 3])

亦或集 获取俩个集合不相交的部分
^
s={1,2,3,4}
s1={4,5,6,7}
result=s^s1
print(result)
# set([1, 2, 3, 5, 6, 7])

子集    
<=
检查一个集合是否是另一个集合的子集
如果a集合的元素全部都在b集合中出现,那么a集合就是b集合的子集 反之b是a的超集
s={1,2,3,4}
s1={1,2,3,4,5,6,7}
result=s<=s1
print(result)
# True

真子集 
<
如果b中有a中所有元素,并且b中含有a中没有的元素 b就是a的真超集 a是b的真子集

>=超集
>真超集
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值