提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
集合的主要
提示:以下是本篇文章正文内容,下面案例可供参考
一、集合的基础?
# 不重复特定
list1=[1,3,4,5,76,77,4,3,2,2,1]
#声明集合:
s1=set() #创建空集合,只能使用set()
s2={} #字典 :{key:value,key:value} 集合{元素1,元素2} 此时为字典
s3={1,3,4} #集合
print(type(s2))
#应用:如果有一个列表快速去重 set()
s4=set(list1) #{1, 2, 3, 4, 5, 76, 77}
print(s4)
二、集合的其他操作
1.集合的增加
#集合的增删改查
#1 增加 s1 =set()
s1.add('hello')
s1.add('小猪佩奇')
s1.add('lucy')
print(s1)
#add()添加一个元素
#update() 可以添加多个元素
t1=('林志玲','言承旭')
s1.update(t1)
#{'lucy', '林志玲', 'hello', '小猪佩奇', '言承旭'}
print(s1)
s1.add(t1) #不会拆开
#{'言承旭', '林志玲', 'hello', ('林志玲', '言承旭'), 'lucy', '小猪佩奇'}
print(s1)
2.集合的删除
代码如下(示例):
#2.删除 remove 如果元素存在则删除,不存在则会报错
s1.remove('言承旭')
print(s1)
#{'hello', ('林志玲', '言承旭'), '小猪佩奇', '林志玲', 'lucy'}
#s1.remove('道明寺')
#print(s1)
#pop 随机删除,删除第一个
s1.pop()
print(s1)
#clear() 清空集合
s1.clear() #请空
print(s1)
#dicard() 类似remove,不存在是也不会报错
3.集合的案例
'''
1.产生10个1-20的随机数,去除里面的重复项
2.键盘输入一个元素,将此元素从不重复的集合中删除
'''
import random
list1=[]
set1=set()
for i in range(10):
ran=random.randint(1,20)
list1.append(ran)
set1.update(list1)
print(list1)
print(set1)
#删除操作
num = int(input('输入一个数字'))
set1.discard(num)
print('删除之后的结果'.set1)
#方式2
set1=set()
for i in range(10):
ran=random.randint(1,20)
set1.add(ran)
print(set1)
4.其他符号 | - & ^
# 其他:符号操作
print(6 in set1) #返回布尔类型
set2 = {2,3,4,5,6}
set3 = {2,3,4,5,6.7.8}
print(set2 == set3 ) #判断两个集合中的内容是否相等
#测试: print(set2 != set3)??
# + * 不支持 + *- & |
'''
set4 = set2+set3
print(set4)
set5=set2*2
print(set5)
'''
set4 = set2 - set3 #差集--不一样的集合 difference()
print(set4)
set5 =set3.difference(set2)
print(set5)
# & 交集 intersection()
set6 = set3 & set2
print(set6)
set7=set3.intersection(set2)
print(set7)
# | 并集 union()联合
set8 = set3 | set2
print(set8)
set9=set3.union(set2)
print(set9)
'''
已知有两个列表
l1=[5,1,2,9,0,3]
l2=[7,2,5,7,9]
找出两个列表的不同元素
找出列表的共同元素
'''
l1=[5,1,2,9,0,3]
l2=[7,2,5,7,9]
s1=set(l1)
s2=set(l2)
#对称差集
result = (s1|s2)-(s1&s2)
print(result)
result = s1^s2 #两个列表中不一样的元素,Symmetric_difference()
print(result)
5.集合的内置函数
'''
difference_update()
s1=s1.difference(s2)
print(s1)
s1.difference_update(s2)
intersection_update() 交集
union_update() 并集
sysmmetric_difference_uodate() 对称差集并赋值
'''
'''
关键字:set
作用:去重
符号: - & | ^
内置函数:
增加:
add() update()
删除:
remove() discard() pop() clear()
运算: difference() intersection() union() symmetric_difference()
'''
s1.difference_update(s2)
print(s1)
总结
提示:这里对文章进行总结:
集合的主要的内容