python基础之集合

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网

在这里插入图片描述

在这里插入图片描述

# 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))

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注hwidc的更多内容!

【文章出处:国外服务器 转发请说明出处】