一、集合
1.定義
元素的集,同一集合下,元素不相同。集合有交集並集等操作。集合是可變的資料型別,但是集合內的元素必須是不可變的。
set1= #集合內元素不重複
set2= #
集合內元素不可變
set3=set1 #
集合的定義可以用直接賦值
(set1)
(set2)
(set3)
#列印:##
#
2.操作
set1.add("12") #
增加有add和update
(set1)
set2.update((4,7))
(set2)#列印
##
print(set1.pop() ) #隨機刪除乙個元素,有返回值
(set1)
set2.remove((1,2)) #
刪除指定元素
(set2)
set3.clear()
#使成為空集
(set3,type(set3))
del set3 #
刪除集合#列印
#1##
#set()
#查for i in
set1:
print(i) #
集合內元素也可以迭代,所以可以用for迴圈列印
#求交集set1.add((3,2))
set4=set1 &set2
(set4)
set5=set1.intersection(set2)
(set5)#列印
##
#求並集set6=set1.union(set2)
(set6)
#
#求並集set6=set1.union(set2)
(set6)
#set7=set1 |set2
(set7)
#
#求並集-交集(補集)
set8=
set9=
set10=set8 ^set9
(set10)
set11=set8.symmetric_difference(set9)
(set11)##
#求乙個集合-交集
set12=set8-set9
(set12)
set13=set8.difference(set9)
(set13)##
#集合不可以加,但是可以減
#判斷乙個集合是否是另乙個集合的子集或超集
print(set8 print(set10 print(set12 print(set8 >set13)
a=set8.issuperset(set12)
b=set8.issubset(set12)
c=set13.issuperset(set9)
d=set13.issubset(set9)
(a)print
(b)print
(c)print
(d)#
false
#false
#true
#true
#true
#false
#false
#false
#利用集合的性質去重
li=[1,1,2,3,4,4,5,6,7,7]
(li,type(li))
se=set(li)
(se,type(se))
li=list(se)
(li,type(li))
#[1, 1, 2, 3, 4, 4, 5, 6, 7, 7] #
#[1, 2, 3, 4, 5, 6, 7]
二、深拷貝與淺拷貝
#淺拷貝,只拷貝位址,樣本變了,拷貝內容也變了
listm=[1,2,3,4,5,6,6]
listx=listm
(listx)
(listm)
print(listx)
#深拷貝,拷貝內容,樣本變了不影響拷貝內容
#但要記住import copy,才能呼叫深拷貝方法
import
copy
listy=copy.deepcopy(listm)
(listm)
print(listy)
#結果#[1, 2, 3, 4, 5, 6, 6]
#[1, 2, 3, 4, 5, 6, 6, 9]
#[1, 2, 3, 4, 5, 6, 6, 9]
#[1, 2, 3, 4, 5, 6, 6, 9, 10]
#[1, 2, 3, 4, 5, 6, 6, 9]
Python之集合與深淺拷貝
一.集合 可變資料型別,但是元素必須是不可變的資料型別,無序,元素具有唯一性 add 給集合新增乙個元素 clear 清空乙個集合 set copy 返回乙個淺拷貝集合 difference set1 set2 set1.difference set2 返回set1有set2中沒有的元素組成的集合 ...
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 成 龍 演 的 我 是 ...