Python set常用操作函數(shù)集錦
定義
set是一個(gè)無(wú)序且不重復(fù)的元素集合。
集合對(duì)象是一組無(wú)序排列的可哈希的值,集合成員可以做字典中的鍵。集合支持用in和not in操作符檢查成員,由len()內(nèi)建函數(shù)得到集合的基數(shù)(大小), 用 for 循環(huán)迭代集合的成員。但是因?yàn)榧媳旧硎菬o(wú)序的,不可以為集合創(chuàng)建索引或執(zhí)行切片(slice)操作,也沒(méi)有鍵(keys)可用來(lái)獲取集合中元素的值。
set和dict一樣,只是沒(méi)有value,相當(dāng)于dict的key集合,由于dict的key是不重復(fù)的,且key是不可變對(duì)象因此set也有如下特性:
- 不重復(fù)
- 元素為不可變對(duì)象
python提供了常用的數(shù)據(jù)結(jié)構(gòu),其中之一就是set,python中的set是不支持索引的、值不能重復(fù)、無(wú)需插入的容器。
簡(jiǎn)單記錄下set常用的操作函數(shù):
1.新建一個(gè)set:
set("Hello"),這樣會(huì)轉(zhuǎn)成單個(gè)字符的值進(jìn)行插入,結(jié)果是'H','e','l','o','l'因?yàn)橹貜?fù)只能插入一次。
2.增加一個(gè)元素:
add()用于增加一個(gè)元素值,
update([]),用于增加多個(gè)元素值,參數(shù)為list,注意如果用add增加多個(gè)值,會(huì)報(bào)參數(shù)類(lèi)型錯(cuò)誤。
3.刪除一個(gè)元素:
remove()用于刪除一個(gè)set中的元素,這個(gè)值在set中必須存在,如果不存在的話,會(huì)引發(fā)KeyError錯(cuò)誤。
discard()用于刪除一個(gè)set中的元素,這個(gè)值不必一定存在,不存在的情況下刪除也不會(huì)觸發(fā)錯(cuò)誤。
4.隨機(jī)刪除函數(shù):
set提供了一個(gè)pop()函數(shù),這個(gè)函數(shù)隨機(jī)返回一個(gè)元素值,然后把這個(gè)值刪除,如果set為空,調(diào)用這個(gè)函數(shù)會(huì)返回Key錯(cuò)誤。
5.清空函數(shù):
clear(),將set全部清空。
6.測(cè)試單個(gè)元素在集合內(nèi)是否存在:
in 或者 not in 如果需要判斷一個(gè)值在集合內(nèi)是否存在,in就能滿(mǎn)足要求,例如2 in set_num 如果存在則返回True,否則返回False。
7.測(cè)試兩個(gè)集合是否包含,子集操作:
issubset和issuperset,
s1.issubset(s2) :測(cè)試是否 s1 中的每一個(gè)元素都在 s2 中,運(yùn)算符操作為 s1<=s2;
s2.issuperset(s1) :測(cè)試是否 s1 中的每一個(gè)元素都在 s2 中,運(yùn)算符操作為 s1>=s2;//注意是s2調(diào)用,參數(shù)為s1.
8.集合的并集:
union s1.union(s2) :返回一個(gè)新集合,新集合包含s1,s2的所有元素,等價(jià)的運(yùn)算符為 | 。
9.集合的交集:
intersection,s1.intersection(s2),返回s1和s2中相同部分
10.其他操作:
s1.difference(s2):包含s1中有,但是s2沒(méi)有的元素的集合。
s1symmetric_difference(s2):包含s1和s2中不相同的元素的集合。
總結(jié)
以上所述是小編給大家介紹的Python set常用操作函數(shù)集錦,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
pytorch numpy list類(lèi)型之間的相互轉(zhuǎn)換實(shí)例
今天小編就為大家分享一篇pytorch numpy list類(lèi)型之間的相互轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08python中dir()與__dict__屬性的區(qū)別淺析
這篇文章主要給大家介紹了關(guān)于python中dir()與__dict__屬性的區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12使用python 和 lint 刪除項(xiàng)目無(wú)用資源的方法
這篇文章主要介紹了利用 python 和 lint 刪除項(xiàng)目無(wú)用資源的方法,使用方法是將 python 目錄下的 delUnused.py 放到項(xiàng)目目錄下,然后直接運(yùn)行即可,需要的朋友可以參考下2017-12-12python發(fā)送郵件示例(支持中文郵件標(biāo)題)
python發(fā)送中文郵件示例,支持中文郵件標(biāo)題和中文郵件內(nèi)容。支持多附件。根據(jù)用戶(hù)名推測(cè)郵件服務(wù)器提供商2014-02-02Python浮點(diǎn)數(shù)取整、格式化和NaN處理的操作方法
這篇文章主要介紹了Python浮點(diǎn)數(shù)取整、格式化和NaN處理的操作方法,本文較詳細(xì)介紹了取整的三種方法,格式化浮點(diǎn)數(shù)輸出的示例代碼詳解,感興趣的朋友跟隨小編一起看看吧2022-05-05Python實(shí)現(xiàn)敏感詞過(guò)濾的4種方法
這篇文章主要介紹了Python實(shí)現(xiàn)敏感詞過(guò)濾的4種方法,幫助大家處理不和諧的言論,感興趣的朋友可以了解下2020-09-09Python實(shí)現(xiàn)的微信紅包提醒功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的微信紅包提醒功能,結(jié)合實(shí)例形式分析了Python使用微信模塊itchat實(shí)現(xiàn)微信紅包提醒操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-08-08