set 集合 不重複,無序,內容必須可hash (不可變)
可用來去重複
lst = [1,2,3,4,1,2,3,4,5]
s = set(lst)
lst = list(s)
print(lst)
[1,2,3,4,5]
增加.add
.update 迭代新增
.update(「abc」)
刪除.remove("") 直接刪除,不存在會報錯
.pop() 隨機刪除 無法選擇性刪除
.clear() 清空改先用
.remove("")刪除
再用.add("")新增
查set是可迭代物件,所以可以用for迴圈
for el in s:
print(el)
常用操作
交集print(s1&s2)
print(s1.intersection(s2))
並集(s1 | s2)
s1.union(s2)
差集(s1 - s2)
s1.difference(s2)
反交集(s1 ^ s2)
(s1.symmetric_difference(s2))
子集s1s2
s1.issuperset
frozenset變可雜湊 冰凍
深淺拷貝
賦值:沒有建立新物件,兩個變數同時指向乙個物件
淺拷貝,拷貝第一層內容
lst2 = lst1[:] 淺拷貝 切片
lst2 = lst1.copy() 淺拷貝
深拷貝拷貝所有和當前物件相關聯的內容
引入copy模組
import copy
lst2 = copy.deepcopy(lst1)
set集合 ,深淺拷貝
一 之前內容的補充 1.join 將列表轉換成字串 2.split 將字串轉換成列表 3列表和字典在進行for迴圈時是不可以刪除的 準確的說是刪除的不徹底 刪除操作需要先建立乙個新的空列表,把老列表裡的元素迴圈 然後給到新的列表,然後再迴圈新的列表,刪除舊的列表.列表的刪除用的是remove,字典用...
set集合 深淺拷貝
1.基礎資料型別補充 1.把列表用join轉換成字串 li 我是誰 我在哪 我在幹什麼 s join li print s 我是誰 我在哪 我在幹什麼 li 成龍演的我是誰 s join li print s 成 龍 演 的 我 是 誰 split 可以把字串切割成列表 s 成 龍 演 的 我 是 ...
集合set 和 深淺copy
集合是無序的,不重複的資料集合,它裡面的元素是可雜湊 不可變型別 但是集合本身是不可雜湊,所以集合做不了字典的鍵 集合最重要的2點 去重 把乙個列表變成集合,就自動去重了。關係測試 測試兩組資料之間的交集 並集 差集等關係 1 set set 2 set 1 add.2 set 3set.add s...