Python リストの copy() メソッド
リスト Copy() メソッド リストの新しい浅いコピーを作成します。
例
Python3
# Using list fruits> fruits> => [> 'mango'> ,> 'apple'> ,> 'strawberry'> ]> # creating a copy shakes> shakes> => fruits.copy()> # printing shakes list> print> (shakes)> |
出力
['mango', 'apple', 'strawberry']
List Copy() メソッドとは何ですか?
リスト Copy()関数 で パイソン リストのコピーを作成するために使用されます。リストのコピーを作成するには主に 2 つの方法があります 浅いコピー そして ディープコピー。 list copy() メソッドについては、以下で詳しく説明します。
list copy() 関数はリストのコピーを作成するために使用されます。これは機能するために使用でき、元のリストの値には影響しません。これにより、データ損失を心配することなく、自由にデータを操作できるようになります。
List copy() メソッドの構文
list.copy()
パラメーター
- copy() メソッドはパラメータを取りません。
戻り値: を返します 浅いコピー リストの。
注記 : 浅いコピーとは、新しいリストの変更が元のリストに反映されないことを意味します。
Python でリストの単純なコピーを作成する方法
Python の copy() 関数を使用して、新しいリストをコピーして作成できます。
Python3
# Using List girls> girls> => [> 'Priya'> ,> 'Neha'> ,> 'Radha'> ,> 'Nami'> ]> # Creating new copy> girlstudent> => girls.copy()> #printing new list> print> (girlstudent)> |
出力
['Priya', 'Neha', 'Radha', 'Nami']
List copy() メソッドのその他の例
リストの例をいくつか見てみましょう コピー() 方法。
例 1: 単純なリストのコピー
この例では、次のリストを作成しています。 Python 文字列 そして私たちは使っています コピー() リストを別の変数にコピーするメソッド。
Python3
lis> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> new_list> => lis.copy()> print> (> 'Copied List:'> , new_list)> |
出力
Copied List: ['Geeks', 'for', 'Geeks']
例 2: List copy() の動作のデモ
ここでは、 Python リスト 次に、copy() 関数を使用して浅いコピーを作成します。次に、コピーしたリストに値を追加して、copy() メソッドを使用してリストをコピーすると元のリストに影響を与えるかどうかを確認します。
Python3
# Initializing list> lis1> => [> 1> ,> 2> ,> 3> ,> 4> ]> # Using copy() to create a shallow copy> lis2> => lis1.copy()> # Printing new list> print> (> 'The new list created is : '> +> str> (lis2))> # Adding new element to new list> lis2.append(> 5> )> # Printing lists after adding new element> # No change in old list> print> ('The new> list> after adding new element :> '> +> str> (lis2))> print> ('The old> list> after adding new element to new> list> :> '> +> str> (lis1))> |
出力
The new list created is : [1, 2, 3, 4] The new list after adding new element : [1, 2, 3, 4, 5] The old list after adding new element to new list : [1, 2, 3, 4]
注記: 浅いコピーとは、ネストされたリスト要素のいずれかを変更すると、両方のリストが同じ参照を指しているため、変更が両方のリストに反映されることを意味します。
浅いコピーと深いコピー
あ ディープコピー はリストのコピーです。リストのいずれかに要素を追加すると、そのリストのみが変更されます。
で リストコピー() この方法では、コピーされたリストに加えられた変更は元のリストには反映されません。 1 つのリストに加えられた変更は、ネストされた要素 (リスト内のリストなど) を除き、他のリストには反映されません。
使用できます コピー.ディープコピー() この問題を回避するには、コピー モジュールから。
- ディープコピーのテクニック:
- copy.deepcopy() の使用
- 浅いコピーを行うテクニック:
- copy.copy() の使用
- list.copy() の使用
- スライスの使用
より深く理解するには、この記事を参照してください。 ディープコピーとシャローコピー 。
浅いコピーと深いコピーのテクニックをデモンストレーションする
ここではリストを作成し、次のコマンドを使用して浅いコピーを作成します。 代入演算子 、Python コピー モジュールの copy() メソッド、および copy.copy() メソッドをリストします。
また、Python の deepcopy() を使用してディープ コピーを作成します。次に、元のリストに変更を加えて、他のリストが影響を受けるかどうかを確認します。
Python3
import> copy> # Initializing list> list1> => [> 1> , [> 2> ,> 3> ] ,> 4> ]> print> (> 'list 1 before modification:
'> , list1)> # all changes are reflected> list2> => list1> # shallow copy - changes to> # nested list is reflected,> # same as copy.copy(), slicing> list3> => list1.copy()> # deep copy - no change is reflected> list4> => copy.deepcopy(list1)> list1.append(> 5> )> list1[> 1> ][> 1> ]> => 999> print> (> 'list 1 after modification:
'> , list1)> print> (> 'list 2 after modification:
'> , list2)> print> (> 'list 3 after modification:
'> , list3)> print> (> 'list 4 after modification:
'> , list4)> |
出力
list 1 before modification: [1, [2, 3], 4] list 1 after modification: [1, [2, 999], 4, 5] list 2 after modification: [1, [2, 999], 4, 5] list 3 after modification: [1, [2, 999], 4] list 4 after mo...
スライスを使用してリストをコピーする
ここでは、を使用してリストをコピーしています リストのスライス メソッド [:] を追加しています。 「あ」 new_list に追加します。印刷後、新しく追加された文字「a」が古いリストに追加されていないことがわかります。
Python3
list> => [> 2> ,> 4> ,> 6> ]> new_list> => list> [:]> new_list.append(> 'a'> )> print> (> 'Old List:'> ,> list> )> print> (> 'New List:'> , new_list)> |
出力
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']
list copy() メソッドの定義、構文、例について説明しました。 copy() 関数は機密データを扱う場合に非常に便利であり、間違いを犯す危険はありません。
浅いコピーと深いコピーについても簡単に説明しました。これが Python の copy() 関数を理解するのに役立つことを願っています。
その他を読む Python リスト メソッド
リストのコピーに関するその他の記事:
- パイソン |リストのクローン作成またはコピー
- Python でのコピー (ディープ コピーとシャロー コピー)
- パイソン |ネストされたリストをコピーする方法