Python之路 day2 集合的基本操作

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:ersa
'''
#集合是无序的
集合的关系测试,
增加,删除,查找等操作
'''
#列表去重 ==》转集合自动去重
list_1 = [1,3,5,7,9,11,2,4]
list_2 = [2,4,6,8,10] print(list_1,list_2) #列表转集合
list_1 = set(list_1)
list_2 = set(list_2) print("关系测试".center(70,'='))
#两个集合的交集
print( list_1.intersection(list_2) ) #并集
print( list_1.union(list_2) ) #差集==》我有你没有
print(list_1.difference(list_2)) #子集
list_3 = set([1,3,5])
print(list_3.issubset(list_1))
print(list_1.issuperset(list_3)) #对称差集==》两个集合中都没有
print(list_1.symmetric_difference(list_2)) #没有交集则返回true
list_4 = set([2,4,6])
print(list_3.isdisjoint(list_4)) print("关系运算符".center(70,'='))
#交集 &
print("%s & %s 交集:\n"%(list_1,list_3),list_1 & list_3)
#并集 |
print("%s | %s 并集:\n"%(list_1,list_2),list_1 | list_2) #差集 在 list_1 中不在 list_2中
print("%s - %s 差集:\n"%(list_1,list_2),list_1 - list_2) #对称差集 在 list_1 或 list_2中,但不会同时出现在二者中
print("%s ^ %s 对称差集:\n"%(list_1,list_2),list_1 ^ list_2) print("集合的基本操作 增、删、改、查".center(70,'=')) #增加1个
list_1.add(999)
print("%s 增 add: \n"%(list_1),list_1) #增加多个 update
list_1.update([19,29,39])
print("%s 增加多个 update \n"%(list_1),list_1) #删除 remove
list_1.remove(999)
print("%s 删除 remove \n"%(list_1),list_1) #remove 删除不存在的会报错,discard 不会报错
print("%s 删除 discard \n"%(list_1),list_1.discard('ddd'))
list_1.discard(11)
print("%s 删除 discard \n"%(list_1)) #集合的长度
print("%s 长度 \n"%(list_1),len(list_1)) #是否是集合的成员
print("%s 是否在 集合中 \n"%(list_1),999 in list_1) #是否不是集合的成员
print("%s 不在 集合中 \n"%(list_1),999 not in list_1) #删除第一个
print("%s 删除第一个 \n"%(list_1),list_1.pop())
print(list_1)
上一篇:Python之路 day1 基础1 变量 for while 用户输入


下一篇:【Python之路】特别篇--微信Web网页版通信的全过程分析