set集合和深淺拷貝

2021-10-19 12:13:23 字數 890 閱讀 9785

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...