python集合set,frozenset--笔记
《Python3程序開發(fā)指南》筆記。
python提供了2種內(nèi)置的集合類型:可變的set類型、固定的frozenset類型。
只有可哈希運(yùn)算的對(duì)象可添加到集合中。可哈希的數(shù)據(jù)類型:float、frozenset、int、str、tuple。不是可哈希的:dict、list、set
集合方法與操作符
| s.add(x) | ? |
| s.clear() | ? |
| #s.copy() | 返回集合 s 的淺拷貝 |
| #s.difference(t) s-t | 返回一個(gè)新集合,其中包含在s中但不在集合t中的數(shù)據(jù)項(xiàng) |
| s.difference_update(t) s-=t | 移除每一個(gè)在集合t 但不在集合s中的項(xiàng) |
| s.discard(x) | 如果數(shù)據(jù)項(xiàng)x在集合s中,就移除該數(shù)據(jù)項(xiàng) 參見:s.remove() |
| s.intersection(t) s&t | 返回一個(gè)新集合,集合求交集 |
| s.intersection_update(t) s&=t | 使s包含s與t的交集 |
| #s.isdisjoin(t) | 如果s與t沒(méi)有相同的項(xiàng),就返回True |
| #s.issubset(t) s<=t | s是t的子集,返回True s<t:真子集 |
| #s.issuperset s>=t | s與t相同,或是t的超集,返回True s>t:t為s的真子集 |
| s.pop() | 返回并移除s中的一個(gè)隨機(jī)項(xiàng),如果s為空集,產(chǎn)生KeyError異常 |
| s.remove(x) | 從s中移除x,如果s中不包含x,產(chǎn)生KeyError異常 參見:s.discard() |
| #s.symmetric_difference(t) s^t | 返回一個(gè)新集合,其中包含s與t并集,但除去交集的數(shù)據(jù)項(xiàng) |
| s.symmetric_difference_update(t) s^=t | ? |
| #s.union(t) s|t | 并集 |
| s.update(t) s|=t | ? |
集合內(nèi)涵
兩種語(yǔ)法格式:
[expression for item in iterable]
[expression for item in iterable if condition]
例如,files中的一個(gè)文件夾列表,( ⊙ o ⊙ )是的集合html只存放那些以.htm和.html結(jié)尾的文件名
>>> html={x for x in files if x.lower().endswith((".html",".htm"))}固定集合---frozenset
固定集合支持的方法在上面的表中用@標(biāo)明。
二元運(yùn)算符應(yīng)用于集合和固定集合時(shí),得到的類型與左邊操作數(shù)的數(shù)據(jù)類型一致,例如,f為固定集合,s為集合,f&s產(chǎn)生一個(gè)固定集合,s&f產(chǎn)生一個(gè)集合。
轉(zhuǎn)載于:https://www.cnblogs.com/xiao--yao/p/5016916.html
總結(jié)
以上是生活随笔為你收集整理的python集合set,frozenset--笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JSTL标签库中fmt标签,日期,数字的
- 下一篇: 7.python xmlrpclib及a