集合:
特點:集合是可變的資料型別,但他裡面的元素必須是不可變的資料型別,無序,不可重複。建立:
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變為不可變資料型別用frozensets = 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...