1. ホーム
  2. python

[解決済み] リスト内の要素の検索と置換

2022-03-15 01:35:52

質問

あるリストを検索して、ある要素の出現箇所をすべて別の要素に置き換える必要があります。今までのところ、私のコードでの試みはどこにも行き着くことができません。

例えば、私のリストが次のような整数を持っているとします。

>>> a = [1,2,3,4,5,1,2,3,4,5,1]

で、数字1の出現箇所をすべて値10に置き換える必要があるので、必要な出力は次のようになります。

>>> a = [10, 2, 3, 4, 5, 10, 2, 3, 4, 5, 10]

したがって、私の目標は、数字の1のインスタンスをすべて数字の10に置き換えることです。

どのように解決するのですか?

を使用すると、内蔵の enumerate を使えば、リストを繰り返しながらインデックスと値の両方を取得することができます。そして、値を使って条件をテストし、インデックスを使って元のリストでその値を置き換えます。

>>> a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1]
>>> for i, n in enumerate(a):
...   if n == 1:
...      a[i] = 10
...
>>> a
[10, 2, 3, 4, 5, 10, 2, 3, 4, 5, 10]