首页 > 编程语言 > 详细

python学习笔记(集合的使用)

时间:2017-01-10 09:17:24      阅读:306      评论:0      收藏:0      [点我收藏+]

集合

集合(set):把不同的元素组成一起形成集合,是python基本的数据类型。

集合元素(set elements):组成集合的成员

为什么需要集合?

集合的作用

1 .列表去重复数据

    按照现有知识的解决思路:先设置空列表,然后使用for寻获,把需要去重的列表的第一个数据放到新列表中,然后依次取出第二个数据,把第二个数据和第一个数据作比较,如果不一样,则存入新列表中;以此类推,每取一次都要和新列表中的数据作对比,不一样的则添加入新列表中。

2. 关系测试

    比如有学员同时报了python班和linux班,同时在2个列表中,可以用集合来找出该关系。

 

列表去重

list_1 =[1,4,5,7,3,6,7,9,9,9,1,3,2,5,11,23,222,234,35,11]
list_1 = set(list_1)
print(list_1)

查看运行结果,列表在转成集合后去除了重复数据。

注意点:集合也是无序的。

 

集合的关系测试

list_1 =[1,4,5,7,3,6,7,9,9,9,1]
list_1 = set(list_1)

list_2 = set([2,6,0.66,22,8,4])

# print(list_1,list_2)
#交集
print(list_1.intersection(list_2))

#并集
print(list_1.union(list_2))

#差集   list_1里有,list_2里没有
print(list_1.difference(list_2))
print(list_2.difference(list_1))

#子集
list_3 = set([1,3,7])
print(list_3.issubset(list_1)) #list_3是list_1的子集,返回True
#父集
print(list_1.issuperset(list_3)) #list_1是list_3的父集,返回True

#对称差集
print(list_1.symmetric_difference(list_2))

print("-----------")
list_4 = set([5,6,8])
print(list_3.isdisjoint(list_4)) #判断是否是分离集合,不相交

集合的运算符

list_1 =[1,4,5,7,3,6,7,9,9,9,1]
list_1 = set(list_1)
list_2 = set([2,6,0.66,22,8,4])

#交集(intersection):&
print(list_1 & list_2)

#并集(union):|
print(list_1 | list_2)

#差集(difference):-
print(list_1 - list_2)

#对称差集(symmetric_difference):^
print(list_1 ^ list_2)

 

集合的增删改查

list_1 = set([1,3,5,2,8,11,17])
list_1.add(999) #添加一项
list_1.update([888,777,555]) #添加多项
print(list_1)
list_1.remove(888) #删除一项
print(list_1)
print(len(list_1)) #集合的长度

list_1 in list_2 #判断list_1是否是list_2的成员
list_1 not in list_2 #判断list_1是否不是list_2的成员

print(list_1.pop()) #任意删除一项
print(list_1.remove(ddd)) #使用remove时,如果对象不存在,会出现报错信息
print(list_1.discard(ddd)) #使用discard时,对象不存在也不会报错

 

python学习笔记(集合的使用)

原文:http://www.cnblogs.com/phenomzh/p/6265772.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!