一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python中的集合類型知識講解

Python中的集合類型知識講解

2020-07-30 11:27腳本之家 Python

這篇文章主要介紹了Python中的集合類型知識講解,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

集合類型
        數(shù)學(xué)上,,把set稱做由不同的元素組成的集合,集合(set)的成員通常被稱做集合元素(set elements)。Python把這個概念引入到它的集合類型對象里。集合對象是一組無序排列的可哈希的值,集合成員可以做字典中的鍵。數(shù)學(xué)集合轉(zhuǎn)為Python的集合對象很有效,集合關(guān)系測試和union、intersection等操作符在Python里也同樣如我們所預(yù)想地那樣工作。
        和其他容器類型一樣,集合支持用in和not in操作符檢查成員,由len()內(nèi)建函數(shù)得到集合的基數(shù)(大小), 用 for 循環(huán)迭代集合的成員。但是因為集合本身是無序的,不可以為集合創(chuàng)建索引或執(zhí)行切片(slice)操作,也沒有鍵(keys)可用來獲取集合中元素的值。
        集合(sets)有兩種不同的類型:可變集合(set)和不可變集合(frozenset)。對可變集合(set),可以添加和刪除元素,對不可變集合(frozenset)則不允許這樣做。注意:可變集合(set)不是可哈希的,因此既不能用做字典的鍵也不能做其他集合中的元素。不可變集合
(frozenset)則正好相反,即它們有哈希值,能被用做字典的鍵或是作為集合中的一個成員。
         集合操作符和關(guān)系符號: 

Python中的集合類型知識講解

  集合類型的實際操作:

(1)如何創(chuàng)建集合類型和給集合賦值
        集合與列表( [ ] )和字典( { } ) 不同,沒有特別的語法格式。列表和字典可以分別用他們自己的工廠方法 list() 和 dict() 創(chuàng)建,這也是集合被創(chuàng)建的唯一方法:用集合的工廠方法set()和frozenset()。

?
1
2
3
4
5
6
7
8
9
10
>>> s = set('cheeseshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t = frozenset('bookshop')
>>> t
frozenset(['b', 'h', 'k', 'o', 'p', 's'])
>>> len(s), len(t)
(6, 6)
>>> s == t
False

(2)如何訪問集合中的值
       可以遍歷查看集合成員或檢查某項元素是否是一個集合中的成員。

?
1
2
3
4
5
6
7
8
9
10
11
>>> 'k' in t
True
>>> for i in s:
...   print i
... 
c
e
h
o
p
s

(3)如何更新集合
         用各種集合內(nèi)建的方法和操作符添加和刪除集合的成員。只有可變集合能被修改,試圖修改不可變集合會引發(fā)異常。
[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

?
1
2
3
4
5
6
7
8
9
10
>>> s.add('z')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
>>> s.update('pypi')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])
>>> s.remove('z')
>>> s -= set('pypi')
>>> s
set(['c', 'e', 'h', 'o', 's'])

(4)如何刪除集合中的成員和集合
        刪除集合成員remove()內(nèi)建方法。刪除集合本身,可以像刪除任何Python對象一樣,令集合超出它的作用范圍或調(diào)用del將它們直接清除出當(dāng)前的名字空間。如果它的引用計數(shù)為零,也會被標記以便被垃圾回收。如del s。

實例:
用集合的工廠方法 set()和 frozenset():

?
1
2
3
4
5
6
7
8
9
10
>>> s = set('cheeseshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t = frozenset('bookshop')
>>> t
frozenset(['b', 'h', 'k', 'o', 'p', 's'])
>>> type(s)
<type 'set'>
>>> type(t)
<type 'frozenset'>

如何更新集合用各種集合內(nèi)建的方法和操作符添加和刪除集合的成員:

?
1
2
3
4
5
6
7
8
9
10
11
12
>>> s.add('z')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
>>> s.update('pypi')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])
>>> s.remove('z')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])
>>> s -= set('pypi')
>>> s
set(['c', 'e', 'h', 'o', 's'])

 

刪除集合

?
1
del s

成員關(guān)系 (in, not in)

?
1
2
3
4
5
6
7
8
>>> s = set('cheeseshop')
>>> t = frozenset('bookshop')
>>> 'k' in s
False
>>> 'k' in t
True
>>> 'c' not in t
True

集合等價/不等價

?
1
2
3
4
5
6
7
8
9
>>> s == t
False
>>> s != t
True
>>> u = frozenset(s)
>>> s == u
True
>>> set('posh') == set('shop')
True

差補/相對補集( – )兩個集合(s 和t)的差補或相對補集是指一個集合C,該集合中的元素,只屬于集合s,而不屬
于集合t。差符號有一個等價的方法,

?
1
2
3
4
difference().
>>> s - t
set(['c', 'e'])

對稱差分( ^ ):對稱差分是集合的XOR以上文章就是Python字典對集合類型的實際應(yīng)用步驟。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品在线视频一区 | 69福利区 | 天天拍天天色 | 国产免费看黄的私人影院 | 秋霞综合网 | 男人晚上适合偷偷看的污污 | 亚洲精品AV无码永久无码 | 狠狠色96视频 | 极品丝袜老师h系列全文阅读 | 国产区成人综合色在线 | 欧洲一级 | 成成人看片在线 | 久久久无码精品亚洲A片猫咪 | 欧美日韩一区二区综合在线视频 | 国产成人精品三级在线 | 免费观看无遮挡www的小视频 | 国产一区二区免费在线 | 亚洲AV无码国产精品午夜久久 | 欧美日韩亚洲综合在线一区二区 | 亚洲精品123区在线观看 | 亚洲好色网 | 好 舒服 好 粗 好硬免费视频 | 污樱桃视频 | 亚洲天堂成人在线观看 | jm漫天堂破解版 | 国产精品自拍一区 | free性丰满hd性欧美人体 | 亚州在线| 99久久国产视频 | 国产一区二区三区四 | 99久久这里只有精品 | 国产精品国产色综合色 | 动漫美女隐私尿口图片 | 网站国产 | 四虎最新免费观看网址 | 亚洲国产精品二区久久 | 91麻豆在线观看 | 图片一区 | 精品成人一区二区三区免费视频 | 国产五月天在线 | 国产精品一区久久精品 |