久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > python里面的set

python里面的set

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-18 14:28:08 1700288888

Python中的set是一種無序且不重復(fù)的數(shù)據(jù)類型,它可以用來存儲(chǔ)一組數(shù)據(jù),類似于數(shù)學(xué)中的集合。在Python中,set可以用花括號(hào){}或者set()函數(shù)來創(chuàng)建,且元素之間用逗號(hào)隔開。例如:



# 創(chuàng)建一個(gè)set

my_set = {1, 2, 3, 4, 5}

print(my_set)

# 創(chuàng)建一個(gè)空的set

empty_set = set()

print(empty_set)


輸出結(jié)果為:



{1, 2, 3, 4, 5}

set()


Python中的set有哪些常用操作?


1. 添加元素


我們可以使用add()方法向set中添加一個(gè)元素,例如:



my_set = {1, 2, 3, 4, 5}

my_set.add(6)

print(my_set)


輸出結(jié)果為:



{1, 2, 3, 4, 5, 6}


2. 刪除元素


我們可以使用remove()方法從set中刪除一個(gè)元素,例如:



my_set = {1, 2, 3, 4, 5}

my_set.remove(3)

print(my_set)


輸出結(jié)果為:



{1, 2, 4, 5}


3. 求交集、并集和差集


我們可以使用&、|和-操作符來求兩個(gè)set的交集、并集和差集,例如:



set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

# 求交集

print(set1 & set2)

# 求并集

print(set1 | set2)

# 求差集

print(set1 - set2)


輸出結(jié)果為:



{4, 5}

{1, 2, 3, 4, 5, 6, 7, 8}

{1, 2, 3}


4. 判斷元素是否在set中


我們可以使用in關(guān)鍵字來判斷一個(gè)元素是否在set中,例如:



my_set = {1, 2, 3, 4, 5}

print(3 in my_set)

print(6 in my_set)


輸出結(jié)果為:



True

False


5. 求set的長度


我們可以使用len()函數(shù)來求一個(gè)set的長度,例如:



my_set = {1, 2, 3, 4, 5}

print(len(my_set))


輸出結(jié)果為:




Python中的set有哪些特點(diǎn)?


1. set中的元素是無序的,不能通過下標(biāo)來訪問元素。


2. set中的元素是不重復(fù)的,如果添加一個(gè)已經(jīng)存在的元素,set不會(huì)產(chǎn)生任何效果。


3. set中的元素必須是可哈希的,即不可變的。因?yàn)閟et是基于哈希表實(shí)現(xiàn)的,如果元素是可變的,那么在哈希表中就無法確定元素的位置。


4. set比list和tuple的查找速度更快,因?yàn)閟et是基于哈希表實(shí)現(xiàn)的,查找一個(gè)元素的時(shí)間復(fù)雜度為O(1)。


5. set比list和tuple的內(nèi)存占用更大,因?yàn)閟et需要維護(hù)哈希表的結(jié)構(gòu),而list和tuple只需要維護(hù)一個(gè)線性的結(jié)構(gòu)。


set的應(yīng)用場景有哪些?


1. 去重


set最常用的應(yīng)用場景就是去重,例如:



my_list = [1, 2, 3, 4, 5, 2, 3, 4]


my_set = set(my_list)


print(my_set)



輸出結(jié)果為:



{1, 2, 3, 4, 5}



2. 判斷兩個(gè)集合是否有交集


我們可以使用&操作符來判斷兩個(gè)集合是否有交集,例如:



set1 = {1, 2, 3, 4, 5}


set2 = {4, 5, 6, 7, 8}


if set1 & set2:


print("兩個(gè)集合有交集")


else:


print("兩個(gè)集合沒有交集")



輸出結(jié)果為:



兩個(gè)集合有交集



3. 快速查找


由于set是基于哈希表實(shí)現(xiàn)的,所以在需要快速查找元素的場景下,set是一個(gè)很好的選擇,例如:



my_set = {1, 2, 3, 4, 5}


if 3 in my_set:


print("3在集合中")


else:


print("3不在集合中")



輸出結(jié)果為:



3在集合中



Python中的set是一個(gè)非常有用的數(shù)據(jù)類型,它可以用來存儲(chǔ)一組數(shù)據(jù),并且具有去重、快速查找、判斷兩個(gè)集合是否有交集等功能。在使用set時(shí)需要注意元素必須是可哈希的,且set中的元素是無序的、不重復(fù)的。


聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT