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))
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!