Python(九) 集合


程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


集合

集合(set)是一个无序的不重复元素序列。

集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者使用 set() 函数创建集合

创建

s1 = {1,2,'a','b','a'}
s2 = set([1,2,'a','b','a'])
print(s1)
print(s2)

#输出
{1, 2, 'a', 'b'}
{1, 2, 'a', 'b'}

 创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典


s3 = set()
s4 = {}
print(s3)
print(type(s3))
print(s4)
print(type(s4))

#输出
set()

{}

运算

a = set('abcdef')
b = set('asdfgh')
print(a)
print(b)
# 集合a中包含而集合b中不包含的元素
print(a - b)

# 集合a或b中包含的所有元素
print(a | b)
# 集合a和b中都包含了的元素
print(a & b)
# 不同时包含于a和b的元素
print(a ^ b)

#输出
{'e', 'a', 'b', 'f', 'c', 'd'}
{'a', 's', 'f', 'h', 'g', 'd'}
{'e', 'c', 'b'}
{'e', 'a', 's', 'b', 'f', 'h', 'g', 'c', 'd'}
{'f', 'a', 'd'}
{'e', 'h', 'g', 'c', 's', 'b'}

函数

add() 添加元素
update() 给集合添加元素

remove()

移除指定元素
pop() 随机移除元素

discard()

删除集合中指定的元素
copy() 拷贝一个集合
len() 返回集合元素个数

union()

返回两个集合的并集

difference()

返回多个集合的差集

intersection()

返回集合的交集

isdisjoint()

判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False

issubset()

判断指定集合是否为该方法参数集合的子集

symmetric_difference()

回两个集合中不重复的元素集合

a = set([2,3,4,5])
print(a)
a.add(7)

print(a)

a.update({8,9})
print(a)

#移除
a.remove(8)
print(a)
#随机移除
a.pop()
print(a)

a.discard(7)
print(a)

b = a.copy()
print(b)

print(len(b))


a = set([1,3,5,7,9,2])
b = set([2,4,6,8,9])

print(a.union(b))
#返回多个集合的差集
print(a.difference(b))
#返回集合的交集
print(a.intersection(b))
#判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False
print(a.isdisjoint(b))
#判断指定集合是否为该方法参数集合的子集
print(a.issubset(b))
c = {2,4}
print(c.issubset(b))

#返回两个集合中不重复的元素集合
print(a.symmetric_difference(b))

输出

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

你可能感兴趣的:(#,基础,python,开发语言)