Python集合

##集合的定义##

第一种定义方式:赋值定义

s = {1,2,3,"hello"}
print type(s)
print s 

注意:在赋值法定义集合时,大括号中必须要有值,否则系统将自动判定s为字典类型!!!
这里写图片描述
第二种方式:工厂式定义集合

s = set()
print type(s)

注意:工厂式定义时括号内没有值!!
这里写图片描述
用该方式定义后,s可以被赋值,可以是列表,字符串等任何数据类型
这里写图片描述
但不可以是整形,否则系统回报错!!
这里写图片描述

##集合的特性##

##集合拥有无序性和不重复性,可以用于列表等数据结构的去重操作。##
##集合的无序性意味着集合不支持切片和索引,也不支持重复和连接##

这里写图片描述

##列表的去重##
#通过集合去重,即先将列表存入集合中,然后再用list将该集合转换为列表#
li = [1,2,2,3,4,4]
s = set(li)
li = list(s)
print li

这里写图片描述

#列表的去重还可以通过字典key值的不重复性进行#
即通过字典的fromkeys方法将列表的各个元素当成字典的key值存入,然后再通过字典的keys方法将去重后的元素还给列表。
li = {1,2,2,3,4,4}
d = {}.fromkeys(li)
li = d.keys()

这里写图片描述

##集合支持成员操作符,即可以进行for循环操作以及判断一个元素是否在集合中##
s = {1,2,3,4,5}
print 1 in s
print 6 in s
for i in s:
    print i 

这里写图片描述
这里写图片描述

##集合的增删改查##

##集合的增加##
s.add(元素)   ##当与集合中元素重复时不做任何添加,不重复时将改元素加入集合##
s = {1,2,3,4,5}
s.add(1)
print s
s.add(7)
print s

这里写图片描述

##将另一个集合的元素加入当前集合(相当于连接两个集合)##
s = {1,2,3,4,5}
s1 = {'a','b','c'}
s.update(s1)
print s

这里写图片描述

##集合的查##
#集合的查操作用于判断两个集合的关系:交集,并集,差集,对等差分#
#1.集合的交集
#所谓交集就是将两个集合相同的元素拿出来#
s1 = {1,2,3,4}
s2 = {1,2,3,5}
print s1 & s2
print s1.intersection(s2)

这里写图片描述

#2.集合的并集#
#所谓并集就是将两个元素各自的元素拿出来放在一起#
print s1 | s2
print s1.union(s2)

这里写图片描述

#3.集合的差集#
#所谓差集就是求两个集合不同的元素#
print s1 - s2   ##拿出s1中不同于s2的元素##
print s2 -s1
print s1.difference(s2)
print s2.difference(s1)

这里写图片描述

##集合的对等差分##
print s1 ^ s2
print s1.symmetric_difference(s2)

这里写图片描述

##判断两个集合的关系##
s1.issubset(s2) ##判断s1是不是s2的子集##
s1.issuperset(s2)   ##判断s1是不是s2的父集##
s1.isdisjoint(s2)   ##判断s1和s2是不是没有交集##
以上三种方法均返回一个bool类型值

这里写图片描述
这里写图片描述

##集合元素的删除##
s.pop()     ##系统会随机删除一个元素##

这里写图片描述

s.remove(元素)    ##删除指定的元素##
注意:如果该元素不在集合中,系统会报错!!

这里写图片描述

s.discard(元素)   #也是删除指定元素#
注:与remove不同点在于若元素不在集合中,系统不做任何操作(不报错)

这里写图片描述

s.clear()   ##清空所有元素##

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值