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的更多內容!

推薦閱讀: