Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリストをコピーする方法

copy()メソッド、スライス、list()メソッド、およびリスト内包表記を使用して、Pythonでリストをコピーできます。 copy()メソッドは、Pythonリストをコピーする最も直接的な方法です。

Pythonでリストを操作しているときに、そのリストのコピーを作成したいという状況に遭遇する可能性があります。

たとえば、昨年の学生名簿を使用して、新しい学年度の更新された名簿を生成するプログラムを作成している場合があります。このプログラムは、古いクラスの名簿を保持する必要があります。

Pythonでリストをコピーする方法

Pythonでリストをコピーするために使用できる方法は4つあります。

  • スライス構文の使用
  • copy()メソッドの使用
  • list()メソッドの使用
  • リスト内包表記の宣言

このチュートリアルでは、例を使用して、 copy()を使用する方法について説明します。 、スライスリスト内包表記 、および list() Pythonでリストのコピーを作成します。

等号を使用して、リストのコピーを作成できます。ただし、新しいリストは古いリストにリンクされます。これは、新しいリストを変更すると、古いリストも変更されることを意味します。新しいリストは、古いリストと同じオブジェクトを参照しています。

コピーリストPython:copy()メソッド

Pythonのcopy()メソッドは、既存のリストのコピーを作成します。 copy()メソッドはリストオブジェクトの最後に追加されるため、パラメーターを受け入れません。 copy()は新しいリストを返します。

Pythonには、リストの浅いコピーの作成をサポートする組み込み関数が含まれています: copy() copy()を使用できます リストを複製し、元のリストを変更しないままにする方法。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

copy() メソッドはパラメータを取りません。リスト名の最後に追加します。新しいオブジェクトを作成するための構文は次のとおりですPythoncopy() 方法:

new_list = old_list.copy()

Python copy()メソッドの例

例を見て、 copy()の使用方法を示しましょう。 方法。フルーツスタンドを運営しており、夏のシーズンに新しい果物を反映するように商品リストを更新しようとしているとします。

そのために、古い製品に基づいて新しい製品リストを作成します。古いものを後で使用するために保存したいと思います。これにより、昨シーズンに販売した製品を古いリストで追跡できるようになります。また、今シーズンの販売内容を新しいリストで追跡できるようになります。

copy()を使用できます リストを複製してこのタスクを実行する方法。 copy()の使用例を次に示します。 果物製品のリストのコピーを作成するには:

spring_fruits = ['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

summer_fruits = spring_fruits.copy()

print(summer_fruits)

プログラムの結果は次のとおりです。

['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

コードの最初の行で、 spring_fruitsというPython変数を定義します。 。この変数は、春に販売した果物を追跡します。

次に、 copy()を使用します summer_fruitsという新しいリストを作成するメソッド spring_fruitsのすべてのアイテムが含まれています 配列。最後に、 summer_fruitsを印刷します コンソールへの配列。ご覧のとおり、 summer_fruits リストには、元のリストと同じ値( spring_fruits )が含まれています。 リスト。

リストのコピーができたので、新しいフルーツの提供を反映するようにリストを変更できます。 append()を使用してこれを行うことができます およびremove() メソッド。

コピーリストPython:スライス

スライスは、リストからアイテムを取得するために使用できるPythonの手法です。スライス手法を使用すると、リスト内に保存されている個々のアイテム、複数のアイテム、またはすべてのアイテムを取得できます。スライスについて詳しく知りたい場合は、Pythonリストメソッドのガイドをお読みください。

上記の例を使用して、スライスを使用してリストをコピーする方法を示しましょう。フルーツスタンドを運営しているとしましょう。販売したすべての春の商品を含む夏の商品の新しいリストを作成したいと思います。スライスクローンを使用してこれを行うことができます。

スライスクローンを使用してリストのコピーを作成するために使用するコードは次のとおりです。

spring_fruits = ['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

summer_fruits = spring_fruits[:]

print(summer_fruits)

コードは次のようになります:

['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

このコードは、 copy()を示すために上記で使用した例に似ています。 方法。違いは、 copy()を使用するのではなく 、Pythonのクローン表記を使用します。

上記の例でわかるように、クローン表記は角かっこ([:])で囲まれたコロンです。このメソッドは、古いリストのコピーを作成します。

Pythonコピーリスト:list()メソッド

list()を使用することもできます コピーを作成する関数 Pythonのリストの。 list() コピーの方法は、リストに変換するオブジェクトという1つのパラメーターを取ります。 list()の構文は次のとおりです。 方法:

list(list_name)

フルーツスタンドの例を使用して、この方法の実際を説明しましょう。 list()の使用例を次に示します。 春の果物のリストに基づいて夏の果物のリストを作成するには:

spring_fruits = ['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

summer_fruits = list(spring_fruits)

print(summer_fruits)

このコードは、次の新しいリストを返します。

['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

ご覧のとおり、 list(spring_fruits)を割り当てます。 summer_fruits 私たちのコードでは、 spring_fruitsのコピーを作成しました リストしてsummer_fruitsとして保存しました 。次に、 print()を使用して、新しいリストをコンソールに出力しました。 機能。

Pythonコピーリスト:リスト内包表記

Pythonリスト内包法を使用してリストを簡潔に作成できます。このメソッドは、for…inを使用します 表現。

リスト内包表記は、 for を使用して、既存のリスト内のすべてのアイテムを反復処理することで機能します。 ループして、新しいリストにそれらのアイテムを入力します。

Pythonでのリスト内包表記の構文は次のとおりです。

new_list = [i for i in old_list]

フルーツスタンドの例を使用して、この方法の実際を説明できます。リスト内包表記を使用して、春の果物のリストに基づいて夏の果物の新しいリストを作成する例を次に示します。

spring_fruits = ['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

summer_fruits = [i for i in spring_fruits]

print(summer_fruits)

このコードでは、リスト内包表記を使用して、 summer_fruitsという新しいリストを作成します。 、および以下を返します:

['Apricot', 'Avocado', 'Kiwi', 'Grapefruit', 'Cherry', 'Strawberry']

ご覧のとおり、私たちのプログラムは summer_fruitsを作成しました 元のspring_fruitsにあるすべての値を含むリスト リスト。

結論

このチュートリアルでは、Pythonでリストのコピーを作成するために使用できる4つのアプローチについて説明しました。 copy()の使用方法について説明しました メソッド、スライスクローン作成手法、 list() 関数、およびリスト内包法。

これで、Pythonでリストのコピーを作成するために必要な知識を身に付けることができました。 Pythonの学習に役立つ学習リソースやコースをお探しの場合は、Pythonの学習方法ガイドをご覧ください。


  1. Pythonでリストを定義するにはどうすればよいですか?

    リストはPythonのシーケンスデータ型です。これは、角かっこ([])で囲まれた、必ずしも同じタイプである必要はない要素のコンマ区切りのリストです。リストは順序付けられたコレクションです。 Listオブジェクトの個々の要素には、ゼロベースのインデックスでアクセスできます。 例 list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"] 出力

  2. Pythonで文字列のリストを並べ替える方法は?

    リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を