新手小白 python之路 Day4 (集合应用)

总结了下集合应用

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

list = [1,2,4,7,9,2,4,5]
list1 = [0,3,5,9,8,6,8,3]

# set(list) 返回列表的集合 集合中是没有重复值
print(set(list),set(list1))

#为了方便就直接用setlist 和setlist1
setlist = set(list)
setlist1 = set(list1)

#交集
print(setlist.intersection(setlist1))
print(setlist&setlist1)

# 并集
print(setlist.union(setlist1))
print(setlist|setlist1)

# 差集  差集和顺序有关
print(setlist.difference(setlist1))
print(setlist-setlist1)

print(setlist1.difference(setlist))
print(setlist1-setlist)

# 对称差集 和顺序无关
print(setlist.symmetric_difference(setlist1))
print(setlist^setlist1)

# 子集 返回true|false
setlist2 = set([1,2,4])
print(setlist.issubset(setlist1))
print(setlist2.issubset(setlist))
print(setlist2<=setlist)

# 父级 返回true|false
print(setlist.issuperset(setlist1))
print(setlist.issuperset(setlist2))
print(setlist>=setlist2)

# 没有交集 返回true|false
setlist3 = set([3,8,9])
setlist4 = set([1,4,6])
setlist5 = set([3,5,0])
print(setlist3.isdisjoint(setlist5))
print(setlist3.isdisjoint(setlist4))

# 添加
setlist6 = set([1,2])
setlist6.add(0)
print(setlist6)
# 批量添加
setlist6.update([3,4])
print(setlist6)

# 删除 remove 方法当删除元素没有时报错 discard 当删除元素没有时返回集合
setlist6.remove(1)
print(setlist6)
setlist6.discard(10)
print(setlist6)

# 随机删除
setlist6.pop()
print(setlist6)

# 集合长度
print(len(setlist6))

# 判断元素存在于集合中 返回true|false
print(2 in setlist6)

# 元素不存在集合中 返回true|false
print(2 not in setlist6)

下面是运行结果

{1, 2, 4, 5, 7, 9} {0, 3, 5, 6, 8, 9}
{9, 5}
{9, 5}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 4, 7}
{1, 2, 4, 7}
{0, 8, 3, 6}
{0, 8, 3, 6}
{0, 1, 2, 3, 4, 6, 7, 8}
{0, 1, 2, 3, 4, 6, 7, 8}
False
True
True
False
True
True
False
True
{0, 1, 2}
{0, 1, 2, 3, 4}
{0, 2, 3, 4}
{0, 2, 3, 4}
{2, 3, 4}
3
True
False

 

posted @ 2017-07-17 10:39  凌寒初见  阅读(222)  评论(0)    收藏  举报