集合

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# list =》 允许重复的集合,修改
# tuple =》 允许重复的集合,不修改
# dict
# set =》 不允许重复的集合, set不允许重复的列表
#
# 1、创建
#
# s = set() #空集合
# s2 = {11,22,33,44}
# 2、转换
# l1 = [11,222,11,22]
# l2 = (11,22,11,22,111)
# l3 = "123"
# s = set(1,12)
#
# 3、set提供的方法

# add,添加一个元素
# clear, 清空
# difference, A存在,B中不存在,返回一个新值,变量接收
# difference_update, A中存在,B中不存在,A更新
# discard, 移出指定元素,不存在不报错
# remove, 移出指定元素,不存在报错
# intersection,取交集
# intersection_update, 取交集并更新
# isdisjoint 有交集是False 无交集true
# issubset 是否子序列
# issuperset 是否父序列
# symmetric_difference 两个集合不同元素组合成新集合
# symmetric_difference_update 如上再更新到前个集合
# union取并集
# update 更新

se = {11, 22, 33}
print se

se.add(44)
print se

se.clear()
print se

sa = {11,22,33}
be = {22,44,55}

# sa里存在的,be里不存在的,difference
sa.difference(be)
print sa.difference(be)
print sa
sa.difference_update(be)
print sa

se = {11,22,2222,33}
se.discard(11)
print se

#se.remove(11)
print se


sa = {11,22,33}
be = {22,44,55}
print sa.intersection(be)
print sa


sa = {11,22,33}
be = {22,44,55}
print sa.intersection_update(be)
print sa


# 有交集的是false,没交集true
sa = {11,22,33}
be = {22,44,55}
ret = sa.isdisjoint(be)
print ret

sa = {11,22,33}
be = {22}


ret = se.issubset(be)
print ret

ret2 = se.issuperset(be)
print ret2


sa = {11,22,33}
be = {22,44,55}

ret = se.pop()
print ret
print sa

se = {11,22,33, 44}
be = {11,22, 77, 55}

r1 = se.difference(be)
r2 = be.difference(se)

print r1
print r2

ret = se.symmetric_difference(be)
print ret

ret = se.symmetric_difference_update(be)
print se


se = {11,22,33, 44}
be = {11,22, 77, 55}

ret = se.union(be)
print ret


se = {11,22,33, 44}
be = {11,22, 77, 55}


se.update(be)
print se
posted @ 2017-01-11 01:46  felixpeking  阅读(52)  评论(0编辑  收藏  举报