Python集合基础:创建、增删改查与常见算法应用
本文详细介绍Python中集合(set)的创建、增删改查操作及集合运算。通过代码示例演示如何创建非重复容器、添加与清空元素,并深入讲解差集、交集、并集及pop更新等方法。最后结合求和、和尚吃馒头及寻找唯一数字等经典算法题,展示集合在去重和逻辑判断中的实际应用。


# set 不支持索引和切片,是一个无需的不重复得到容器
# 类似于字典,但是只有key 没有value
# 创建集合
dic1={}
set1={1,2,3}
print(type(set1))
print(type(dic1))

dic1={}
set1={1,2,3}
print(type(set1))
print(type(dic1))
set1.add('python') #添加数据
print(set1)
# 清空操作
set1.clear()
print(set1)


set1={1,2,3}
set2={2,3,4}
# difference 两个集合的差集
print(set1.difference(set2))


set1={1,2,3}
set2={2,3,4}
# 并集操作
print(set1.intersection(set2)) #打印两部分相交的部分


set1={1,2,3}
set2={2,3,4}
# 并集操作
print(set1.union(set2))


pop 移除数据并删除,相当于栈中的操作,排序并移除栈顶元素
set2={2,3,4}
set2.pop()
print(set2)





# update需要两个集合,在原来的基础之上进行更新
set1.update(set2)
print(set1)

总结

作业:
# 求三组连续自然数的和,求出1到10、20到30、35到45的三个和
def qiuhe(n,m):
result=0
for item in range(n,m+1):
result+=item
pass
return result
pass
sum1=qiuhe(10,20)
sum2=qiuhe(1,10)
sum3=qiuhe(35,45)
print('输出1到10的和:%d'%sum1)
print('输出20到30的和:%d'%sum2)
print('输出35到45的和:%d'%sum3)

100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚三人吃一个馒头,请问大小和尚各多少人
def hscount():
'''
计算有多少个和尚
假设大和尚a 小和尚就是100-a
:return:
'''
for a in range(1,100):
if a*3+(100-a)*(1/3)==100:
return (a,100-a)
pass
rsobj=hscount()
print('大和尚人数{},小和尚人数{}'.format(rsobj[0],rsobj[1]))

# 指定一个列表,列表中含有唯一一个只出现过一次的数字,写程序找出这个独一无二的数字
list1=[1,2,3,4,5,6,7,8,2,3,4,5,6,7,8]
set1=set(list1) #转为集合,去除重复
# print(set1)
for i in set1:
list1.remove(i)
pass
set2=set(list1)
print(set1.difference(set2))

总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













