【python入门第十七天】python数据类型-set集合

set集合

set集合

set集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。集合使用大括号({})框定元素,并以逗号进行分隔。但是注意:如果要创建一个空集合,必须用 set() 而不是{},因为后者创建的是一个空字典。
集合数据类型的核心在于自动去重

s = set([1,1,2,3,3,4])
s
{1,2,3,4}	#自动去重
-------------------------------------
>>>	set("this is test")	#对于字符串,集合会把它一个一个拆开,然后去重,空格是空格去重  
{'t','	','s','h','e','i'}

通过*add(key)*方法可以添加元素到set中,可以重复添加,但不会有效果:

s ={1,2,3,4}
s.add(5)
s
{1,2,3,4,5}
s.add(5)
{1,2,3,4,5}

可以通过update()方法,将另一个对象更新到已有的集合中,这一过程同样会进行去重。

>>>	s
{1,2,3,4,5}
>>>	s.update("python")
>>>	s
{1,2,3,4,5,	'p','y','t','h','o','n'}

通过remove(key)方法删除指定元素,或者使用pop()方法。注意,集合的pop方法无法设置参数,删除指定的元素:

s
{1,2,3,4,5,	'p','y','t',	'h','o','n'}
s.remove("n")
{1,2,3,4,5,	'p','y','t','h','o'}
s.pop()		#弹出第一个元素
1
s.pop(3)
Traceback (most recent call last):		
     File "<pyshell#22>",line 1,in <module>				
         s.pop(3)
TypeError:pop() takes no arguments(1 given)

需要注意的是,集合不能取出某个元素,因为集合既不支持下标索引也不支持字典那样的通过键值对获取。
除了add、clear、copy、pop、remove、update等集合常规操作,剩下的全是数学意义上的集合操作,交并差等等
对集合进行交并差等,既可以使用union一类的英文方法名,也可以更方便的使用减号表示差集,“&”表示交集,“|”表示并集。

x = set('runoob')
y = set('google')
x,y
(set(['b','r','u','o','n']),set(['e','o','g','l']))		#重复的被删除
x&y				#交集
set(['o'])
x	|	y		    #并集
set(['b','e','g','l','o','n','r','u'])
x	-	y			#差集
set(['r','b','u','n'])

集合数据类型属于Python内置的数据类型,但不被重视,在很多书籍中甚至都看不到一点介绍。其实,集合是一种非常有用的数据结构,它的去重和集合运算是其它内置类型都不具备的功能,在很多场合有着非常重要的作用,比如网络爬虫

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

落羽凉笙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值