1.集合(set)
首先要了解一下集合set
set是一个无序不重复元素集,Python数据类型的一种,由于是无序的,不能通过索引和切片来做一些操作。
主要有添加、删除、交集、并集、差集、对称差集 五种操作
2.集合的操作
a.添加
a=set([1,2,3])
#方法1:添加1项
a.add(4)
#方法2:添加多项,update中的参数必须是迭代器
a.update([4,5,6])
b.删除(四种方法)
a.remove(1) #如果删除不存在的元素,产生KeyError
a.discard(2) #如果存在元素2,则删除
c=a.pop() #删除一个不确定的元素,并且赋给c,如果集合a为空则产生 KeyError
a.clear() #删除集合中所有元素
c.交、并、差、对称差
# -*- coding: utf-8 -*-
"""
Created on Fri Jan 5 19:50:23 2018
@author: Jane
"""
a=set(range(1,11)) #a为[1,2,3,4,5,6,7,8,9,10]
b=set(range(0,10,2)) #b为10以内的偶数列[0,2,4,6,8]
"""
=====================方法一:运算符版本=========================
"""
union=list(a|b) #并
inter=list(a&b) #交
diff=list(a-b) #差
sys_diff=list(a^b) #对称差集:在a或b中,不同时存在在两个集合中
"""
=====================方法二:非运算符版本======================
"""
tmp1=list(a.union(b))
tmp2=list(a.intersection(b))
tmp3=list(a.difference(b))
tmp4=list(a.symmetric_difference(b))
print(tmp1) #输出集合的并:0,1,2,3,4,5,6,7,8,9,10
print(tmp2) #输出集合的交:2,4,6,8
print(tmp3) #输出集合的差:1,3,5,7,9,10
print(tmp4) #输出对称差集:0,1,3,5,7,9,10