Bootstrap

给我两分钟,带你学会集合

一,集合的定义

1.方式一,{1,2,3....}

s0 = {1, 2, 3, 4, 5}
print(s0, type(s0))
# 方式一
# 花括号里面放入元素   缺点:不能定义一个空集合

2.方式二,set(  )

s1 = set()
print(s1, type(s1))
# 定义一个空集合
s2 = set(range(10))
print(s2, type(s2))
# 方式二
# set(iterable)将可迭代类型中的元素依次放入集合

二,集合的特性

1.不重复 

可以用于去重


2.无序 

 不可以使用下标

3.可以用for去遍历

for e in {1,3,4,5}:
	将集合中的每一个元素依次赋予e

三,集合的常见操作

1.添加操作

add添加指定元素到集合中
update合并一个新的集合到原始集合

# 增加元素
s3 = {1, 3, 5}
s3.add(7)
print(s3)

s4 = {2, 4}
s3.update(s4)
print(s3)

2.删减操作

pop任意删除一个     返回删除的元素
remove删除指定元素     不存在则报错
discard删除一个元素      不存在不报错
clear清空集合  返回一个空集合   ‘’  set()‘’

 

# 删减

# 随机删除任意一个值,并返回
i = s3.pop()
print(i, s3, '------------')

# 删除指定值,如果不再就报错
s3.remove(3)
print(s3)

# 删除指定值,找不到不会报错
s3.discard(4)
print(s3)

# 清空集合 返回一个set()
s3.clear()
print(s3)

3.交集,并集,差集

intersection 交集   两者都有
union并集  一方有即可
difference差集  自己有,别人没有
# 定义两个集合
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 求交集
intersection = set1.intersection(set2)
print("交集:", intersection)

# 求并集
union = set1.union(set2)
print("并集:", union)

# 求差集
difference = set1.difference(set2)
print("差集(set1 - set2):", difference)

difference = set2.difference(set1)
print("差集(set2 - set1):", difference)
 

交集: {4, 5}
并集: {1, 2, 3, 4, 5, 6, 7, 8}
差集(set1 - set2): {1, 2, 3}
差集(set2 - set1): {8, 6, 7}
 

 

;