首頁>技術>

set 訪問

想要訪問 set 集合,用不了 index 或 key ,但可以透過 for 迴圈來迭代 set 集合,或者用 in 判斷某一個值是否在集合中,如下程式碼所示:

thisset = {"apple", "banana", "cherry"}for x in thisset:  print(x)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyapplebananacherry

接下來是用 in 的案例。

thisset = {"apple", "banana", "cherry"}print("banana" in thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyTrue
修改 item

集合一旦建立好之後,不能修改 set 中的項,只能新增。

新增 item

要想往 set 集合中新增,可以使用 add() 方法, 比如下面的例子。

thisset = {"apple", "banana", "cherry"}thisset.add("orange")print(thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py{'cherry', 'banana', 'orange', 'apple'}
新增 set 大集合

將一個set 整體加入到另一個 set 中,可以使用 update() 方法。

thisset = {"apple", "banana", "cherry"}tropical = {"pineapple", "mango", "papaya"}thisset.update(tropical)print(thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py{'banana', 'pineapple', 'papaya', 'mango', 'apple', 'cherry'}

set 的 update 方法除了可以單純的新增 set 集合,還可以是任何可迭代的集合,比如:tuple,list,dict 等等。

thisset = {"apple", "banana", "cherry"}mylist = ["kiwi", "orange"]thisset.update(mylist)print(thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py{'cherry', 'orange', 'kiwi', 'apple', 'banana'}
移除 item

要想從 set 集合中移除某一個item,可以使用 remove() 或者 discard() 方法,如下程式碼所示:

thisset = {"apple", "banana", "cherry"}thisset.remove("banana")print(thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py{'cherry', 'apple'}

有些朋友可能就要問了,remove 和 discard 有什麼區別?前者表示如果item不在集合中就會拋異常,後者則不會。

thisset = {"apple", "banana", "cherry"}thisset.clear()print(thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyset()

如果想把 set 集合釋放掉,可以使用 del。

thisset = {"apple", "banana", "cherry"}del thissetprint(thisset)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.pyTraceback (most recent call last):  File "e:/dream/markdown/python/app/app.py", line 5, in <module>    print(thisset)NameError: name 'thisset' is not defined

從上面程式碼可以看出,如果 del 之後想 print 的話,將會丟擲異常。

set 合併

有幾種方式可以實現 set 集合合併,要麼使用 union ,要麼使用 update,前者是非破壞性操作,後者就是一種破壞性了,可以細評如下程式碼:

set1 = {"a", "b" , "c"}set2 = {1, 2, 3}set3 = set1.union(set2)print(set3)set1 = {"a", "b" , "c"}set2 = {1, 2, 3}set1.update(set2)print(set1)
set 交集

set 之間除了 union 操作,還可以 intersection 求交集,如下程式碼所示:

x = {"apple", "banana", "cherry"}y = {"google", "microsoft", "apple"}z = x.intersection(y)print(z)PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py{'apple'}
set 更多方法

除了上面介紹的方法,set 集合中還有非常多的內建方法,如下經供參考。

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 神經機器翻譯在學習原始漏洞修復補丁的實證研究