この記事では、Python を使用してリスト内の値を置換する方法を見ていきます。リスト内の値をさまざまな方法で置き換えることができます。リスト内の値を置換する方法は次のとおりです。
- リストのインデックス作成の使用
- for ループの使用
- while ループを使用する
- ラムダ関数の使用
- リストスライスの使用
方法 1: リストのインデックス作成を使用する
インデックスを使用してリストの項目にアクセスできます。これは、Python でリスト内の値を置換する最も単純かつ簡単な方法です。リストの最初の項目を置き換えたい場合は、インデックス 0 を使用できます。以下では、インデックスは置き換えたい項目のインデックスであり、new_value はリスト内の古い値を置き換える値です。
構文: l[インデックス]=新しい値
コード:
Python3
# Replace Values in a List using indexing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace first value> l[> 0> ]> => 'Shardul'> # print list> print> (l)> |
>
>
出力:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']>
方法 2: を使用する For ループ
for ループを使用してリストを反復処理し、リスト内の値を置き換えることができます。リストの「Hardik」と「Pant」を「Shardul」と「Ishan」に置き換えたいとします。まず for ループと if 条件を使用してリスト内の値を検索し、それを新しい値に置き換えます。
Python3
# Replace Values in a List using For Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> for> i> in> range> (> len> (l)):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> # print list> print> (l)> |
>
>
出力:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
方法 3: を使用する While ループ
while ループを使用してリスト内の値を置き換えることもできます。 while ループは for ループと同じ処理を行います。まず while ループで、値 0 の変数を定義し、リストを反復処理します。値が置換したい値と一致する場合、それを新しい値に置き換えます。
Python3
# Replace Values in a List using While Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> i> => 0> while> i <> len> (l):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> > i> +> => 1> # print list> print> (l)> |
>
>
出力:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
方法 4: を使用する ラムダ関数
このメソッドでは、ラムダ関数とマップ関数を使用してリスト内の値を置き換えます。 map() は、ループ ステートメントを使用せずにリストを反復処理する Python の組み込み関数です。ラムダは、単一行の式を含む Python の匿名関数です。ここでは、値を置き換える条件として 1 つの式を指定しました。ここでは、ラムダ関数の「Pant」を「Ishan」に置き換えます。次に list() 関数を使用して、マップ オブジェクトをリストに変換します。
構文: l=list(map(lambda x: x.replace(‘old_value’,’new_value’),l))
Python3
# Replace Values in a List using Lambda Function> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Pant with Ishan> l> => list> (> map> (> lambda> x: x.replace(> 'Pant'> ,> 'Ishan'> ), l))> # print list> print> (l)> |
>
>
出力:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
方法 5: を使用する リストのスライス
Python を使用すると、リスト内でスライスを行うことができます。スライスにより、リストの一部にアクセスできるようになります。スライスを使用してリスト内の値を置き換えることができます。まず、置換する変数のインデックスを見つけて、変数「i」に保存します。次に、リスト スライスを使用して、その項目を新しい値に置き換えます。 「Rahul」を「Shikhar」に置き換えたいとします。最初に「Rahul」のインデックスを見つけてから、リストのスライスを実行して「Rahul」を削除し、その場所に「Shikhar」を追加します。
構文: l=l[:インデックス]+[‘新しい値’]+l[インデックス+1:]
Python3
# Replace Values in a List using Slicing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # find the index of Rahul> i> => l.index(> 'Rahul'> )> # replace Rahul with Shikhar> l> => l[:i]> +> [> 'Shikhar'> ]> +> l[i> +> 1> :]> # print list> print> (l)> |
>
>
出力:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
方法 6: を使用する functools.reduce 方法:
アルゴリズム:
- functoolsからreduceメソッドをインポートします。
- テストリストを初期化します。
- テストリストでreduceメソッドを使用して、リスト内の要素をチェックし、新しい値に置き換えます。
- 新しいリストを印刷します。
パイソン
Linuxファイルシステム
# Replace Values in a List using reduce> from> functools> import> reduce> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Rahul with Shikhar> l> => reduce> (> lambda> a, b : a> +> [> 'Shikhar'> ]> if> b> => => 'Rahul'> else> a> +> [b], l , [])> # print list> print> (l)> |
>
>出力
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
時間計算量: O(N)。n は入力リストの長さです。
補助スペース: O(k)。ここで、k は新しい値を持つ新しいリストの長さです。