python基础之集合
# 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的更多内容!
【文章出处:国外服务器 转发请说明出处】