集合 深淺copy

2022-09-02 04:06:08 字數 1732 閱讀 3730

集合:

特點:集合是可變的資料型別,但他裡面的元素必須是不可變的資料型別,無序,不可重複。建立:

set1 = set()

或者直接建立set2 =

集合的增刪查:

增:

add set1.add('女生')

update set1.update('abc') #迭代,類似於列表的extend

刪:pop set1.pop() #隨機刪除,有返回值返回的是刪除的元素

remove set1.remove('2') #按元素刪除

clear set1.clear() #清空集合,結果為:set()表示空集合

del del set1 #刪除整個集合

查:for i in set1:

print(i)

集合運算

set1 = 

set2 =

交集:set3 = set1 & set2 print(ste3) #結果為

或者ste1.intersection(set2)

並集:set3 = set1 | set2 print(set3) #結果為

或者set1.union(set2)

反交集:set3 = set1 ^ set2 print(ste3) #結果為

或者set1.synetric_difference(set2)

差集:set3 = set1 - set2 print(ste3) #結果為set1獨有的

set3 = set2 - set1 print(ste3) #結果為set2獨有的

或者set1.different(set2)

子集與超集

子集:

set1 =

set2 =

print(set1 < set2) #這兩個相同,都說明set1是set2的子集

或者print(set1.issubset(set2))

超集:set1 =

set2 =

print(set2 > set1)           #這兩個相同,都說明set2是set1的超集

或者print(set2.issubset(set1))

去除列表中重複的元素

li = [1,2,3,4,5,5,5,6]

set1 = set(li)           #先把列表轉化為集合

li = list(set1)            #再把集合轉化為列表

print(li)

frozenset

set是可變資料型別,把set變為不可變資料型別用frozenset

s = frozenset('barry')

print(s,type(s))

可迴圈列印:

for i in s:

print(i)

深淺copy:

淺copy

:對淺copy來說,只是在記憶體中重新建立了開闢了乙個空間存放乙個新列表,但是新列表中的元素與源列表中的元素是公用的。

深拷貝deepcopy:對深拷貝來說,列表是記憶體中重新建立的,列表中的可變資料型別是重新建立的,列表中的不可變資料型別是公用的。

集合及深淺copy

集合是無序的,不重複的資料集合,它裡面的元素是可雜湊的 不可變型別 但是集合本身是不可雜湊 所以集合做不了字典的鍵 的。以下是集合最重要的兩點 1.去重,把乙個列表變成集合,就自動去重了。2.關係測試,測試兩組資料之前的交集 差集 並集等關係。1.賦值運算 l1 1,2,3,cat dog l2 l...

集合 相關 深淺copy

集合 可變的資料型別,他裡面的元素必須是不可變的資料型別,無序,不重複。set1 set set2 錯的 集合和字典是可變資料型別 print set1 print set2 set1 增 add set1.add 女神 print set1 update 迭代增加 set1.update abc ...

集合set 和 深淺copy

集合是無序的,不重複的資料集合,它裡面的元素是可雜湊 不可變型別 但是集合本身是不可雜湊,所以集合做不了字典的鍵 集合最重要的2點 去重 把乙個列表變成集合,就自動去重了。關係測試 測試兩組資料之間的交集 並集 差集等關係 1 set set 2 set 1 add.2 set 3set.add s...