#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018-01-15 21:52
# @Author : hhj
# @Site :
# @File : set集合.py
t1=set()
sl=['a','b','c','d','e','a']
t1=set(sl)
print(t1)
m1=t1.symmetric_difference(['a','b','c','l']) #两个集合去除重复部份,生成新的集合
print(m1)
m2=t1.symmetric_difference_update(['a','b','c','l']) #两个集合去除重复部份,更新t1集合(两个集合不同部份)
print(m2)
t2=t1.difference(['a','b','c','l']) #去除与新集合重复部份,生成新的集合(只包含t1集合)
print(t2)
print(t1)
t3=t1.difference_update(['a','b']) #删除原有集合与新集合重复部份,更新原来集合
print(t1)
print(t3) #未生成新集合
nn=t1.isdisjoint(['c']) #判断是否有交集,如果有返回false,如果没有反回true;
print(nn)
n1=t1.issubset(['a','b','c','d','e']) #判断是否是子集,如果是返回true
print(n1)
n2=t1.issuperset(['a','b','c','d','e']) #判断是否是父集,如果是返回true
print("父集%s" %n2)
n3=t1.intersection(['a','b','c','d','e']) #取交集,生成新的集合
print(t1)
print(n3)
n4=n3.intersection_update(['a','b','c','d','e']) #取交集,更新原来的集合
print(n3)
print(n4)
n5=n3.symmetric_difference(['a','b','c','d','e','f']) #去除交集部份,取差集,生成新的集合
print(n5)
n6=n3.symmetric_difference_update(['a','b','c','d','e','f']) #去除交集部份,取差集,更新原来的集合
print(n6)
print(n3)
n7=n3.union(['a','b','c','d','e','f']) #取并集,生成新的集合
print(n7)
n8=n7.update(['x','y']) #更新原来的集合,与n7.add('x')同。集合update方法:是把要传入的元素拆分,做为个体传入到集合中,
#原来集合有的就更新,没有的就添加; 集合add方法:是把要传入的元素做为一个整个添加到集合中
print("更新%s" %n7)
print(n8)
n7.add('m') #只能单个传入
print("更新1%s" %n7)