集合的定义

本文介绍了Python集合的基础知识,包括集合的增加和删除操作,并通过案例展示了如何使用交集、并集、差集等符号,同时讲解了集合的内置函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

集合的主要


提示:以下是本篇文章正文内容,下面案例可供参考

一、集合的基础?

# 不重复特定
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)

总结

提示:这里对文章进行总结:
集合的主要的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值