集是可以修改的,增加元素可以用add和update函數。刪除可以用pop、discard、remove等函數。
1 增加集里的元素
add函數的參數視為一個整體插入到集里,而update函數傳入的參數是把要傳入的元素拆分,做為個體傳入到集合中。
s = set("hello") print (s) s.add("a") print (s) s.add("e") print (s) s.add("python") print (s) s.update([1, 3, 4, "e"]) print (s)
程序執行結果:
set(['h', 'e', 'l', 'o'])
set(['a', 'h', 'e', 'l', 'o'])
set(['a', 'h', 'e', 'l', 'o'])
set(['a', 'e', 'python', 'h', 'l', 'o'])
set(['a', 1, 3, 'e', 'python', 'h', 'l', 'o', 4])
?
2 刪除集里的元素
刪除集合里的元素可以用pop函數,pop函數和列表的pop機制一樣,隨機刪除一個返回值就是被刪除的那個元素值,但如果集是空集用pop會報錯異常。
s = set("hello") print (s) print ("pop ->", s.pop()) print (s) s = set() print (s) print (s.pop())
程序執行結果如下:
{'o', 'e', 'h', 'l'}
pop -> o
{'e', 'h', 'l'}
set()
Traceback (most recent call last):
? File "D:\workspace_python\pythonProject\set.py", line 7, in <module>
??? print (s.pop())
KeyError: 'pop from an empty set'
異常的原因是集此時是空的。
discard函數可以刪除集里某值,如果discard的參數值不屬于集無任何操作。
s = set("hello") print (s) s.discard("o") print (s) s.discard("a") print (s)
程序執行結果:
{'e', 'l', 'o', 'h'}
{'e', 'l', 'h'}
{'e', 'l', 'h'}
remove函數和discard基本一樣,區別在于函數的參數值不屬于集時程序報錯異常。
s = set("hello") print (s) s.remove("o") print (s) s.remove("a") print (s)
程序執行結果:
{'l', 'e', 'o', 'h'}
{'l', 'e', 'h'}
Traceback (most recent call last):
? File "D:\workspace_python\pythonProject\set.py", line 5, in <module>
??? s.remove("a")
KeyError: 'a'