1.設定された設定、繰り返さない、無秩序
2.コピー深さ
1.直接割り当て、2つの変数が同じオブジェクトを参照。
2.浅いコピー:第1のコンテンツ層コピー(のみコピー)
3.ディープコピー:オブジェクトすべてのコンテンツがコピーされます
インポートコピー
(copy.deepcopy)
#重複排除
= LST [1,2,4,7,2,5,3,5,6,7,3 ] RET = SET(LST) プリント(RET) #の出力:{1、2、3、4、5、6 、7} (ret.add 1) 位添加するコレクションではなく、重複追加しない プリント(RET) #の出力:{1、2、3、4、5、6、7} #タイプリスト内になる LST = リスト(RET) プリント(LST) #の出力:[1、2、3、4、5、6、7]
#1。直接割り当て、二つの変数が同じオブジェクトを指し
LST = [ ' 言語'、' 数学'、' 英語'、' 地理'、' 化学' ] LST1 = LST lst1.append(' 物理') #そのうちの一つのは、一緒に両方の変更動作 印刷(LST1 、LST) #1 出力:[ '言語'、 '数学'、 '英語'、 '地理学'、 '化学'、 '物理的な'] ['言語'、 '数学、 '英語'、 '地理学'、'化学'']」物理 プリント(ID(LST)、ID(LST1)) #の出力(例):1729821762184の1729821762184#アドレスが同じ、説明されています。二つの変数が同じオブジェクトを指し
#2。シャローコピー:ちょうど第一層のコピーの内容をコピー()、新しいオブジェクトを作成します
= LST1 [ ' 中国'、' アメリカ'、' ロシア'、' フランス'、' イギリス'、[ ' 5常任理事'、' およびその他の国' ]] LST2 = lst1.copy() #のLST1とないLST2対象 lst1.append(' インド' ) を印刷(LST1、LST2) #1 出力:[ '中国'、 'アメリカ'、 'ロシア'、 'フランス'、 'イギリス'、[ '5人の常任理事、' 'だけでなく、他の国「]」インド「] #1 [」中国「」アメリカ「」ロシア「」フランス「」イギリス「[」5人の常任理事、 『』だけでなく、他の国]] を印刷(ID(LST1)、ID(LST2)) #の出力(例):2822165258952の2822165761352#アドレス記載されているように2つの変数が同じオブジェクトでない [LST1の 5] .append(' インドネシア' ) プリント(LST1) #ちょうど第一層、第2層の内容をコピーしたりして、それに追加したこと を印刷(LST2) #の出力:[「中国」、「アメリカ」、「ロシア」、「フランス」、 '英国の5人の常任理事を、['国、「」だけでなく、他の国、 『インドネシア』]] # [ 『中国』、 『アメリカ』、 『ロシア』、 『フランス』、 『イギリス』、[ 『5人の常任理事、』 'だけでなく、他の国の、 'インドネシア']] #LST2 = LST1 [:]#セクションは、新しいオブジェクトを生成します、 LST1 = [ ' 中国'、' アメリカ'、「ロシア」、「フランス」、' イギリス'、[ ' 5常任理事'、' およびその他の国' ]] LST2 = LST1 [:] lst2.append(' オーストラリア' ) 印刷(LST2) 印刷(LST1) #の出力:[ '中国'、 '米国「」ロシア「」フランス「」イギリス「[」5人の常任理事、 『』およびその他の国『]』オーストラリア『] # [』中国「」アメリカ「」ロシア「」フランス「」イギリス「[」5人の常任理事、 『』だけでなく、他の国]] 印刷(上記ID(LST1を述べた)、上記ID(LST2)言及した) #1 出力(例):1831290561224の1831320161672#アドレスは私のために同じではありません浅いコピー対応 LST2の[する。5]。APPEND( ' オーストラリア' ) 印刷(LST2) 印刷(LST1) #の出力:[ '中国'、 'アメリカ'、 'ロシア'、 'フランス'、 'イギリス'、[ '5人の常任理事、' 'だけでなく、他の国'、」オーストラリア']] #1 ['中国「」アメリカ「」ロシア「」フランス「」イギリス「[」5人の常任理事、 『』だけでなく、他の国、 『オーストラリア』]]
#3ディープコピー:すべてのコンテンツは、オブジェクトのコピーとなります
インポートコピー LST1 = [ ' トランスフォーマー'、' ジュラシックパーク世紀'、' ヒップホップ'、' 学生'、[ ' 先生'、' 教授' ]] LST2 = copy.deepcopy(LST1) #LST1が深さでスロー内部コピーを含むすべてのコンテンツ、コピー LST1を[ 4] .append(' 教師' ) を印刷(LST1、LST2) #1 出力:[ 'トランスフォーマー'、 'ジュラシック・パークの世紀'、 'ヒップホップ'、「学生、[ '先生'、 '教授'、 '先生']] #1 [ 'トランスフォーマー、 『ジュラシック・パークセンチュリー』、 『ヒップホップ』、 『学生』、[ 『先生』、 『教授』]] を印刷(ID(LST1)、ID(LST2)) #の出力(例):1813244593736 1813274316552
#1。なぜコピーの深さを持っている? #コピーは、オブジェクトを作成するプロセスよりも高速であるため、