添え字を使わずにリストの要素を変更する方法

前提

いつもお世話になっております。初歩的な質問でしたら申し訳ありません。
Pythonのリスト処理のプログラムを書いています。Pythonはfor文のinキーワードの後にリストを指定するとトップレベルの要素を取り出せるので非常に便利に、添え字を意識せずに処理できるのですが、そうやって取り出してしまうと、元のリストには書き込めないようです。元のリストに書き込む場合は添え字を使うしかないのでしょうか?

実現したいこと

以下は、2次元リストxのサブリストの要素を10倍して、xを書き換えるプログラムです。

x = [[1,2],[3,4]] for y in x: for i in range(len(y)): # ここと y[i] *= 10 # ここをなんとかしたい print(x) # [[10, 20], [30, 40]] と表示される

これはこれで動くのでいいのですが ...
ここでコメントを書いた部分は、「サブリストの長さに依存しない」ように書くには、添え字を使って、このような書き方をするしかないのでしょうか(ここだけ添え字が出てきていまいちな感じです ... )?気持ち的には以下のように書けるとうれしいのですが、これではxが書き換わらないです T-T)/

x = [[1,2],[3,4]] for y in x: for z in y: # こんな感じ z *= 10 # こんな感じ print(x)

これをmap関数などを使わずに、添え字を使わずに書くことはできないのでしょうか?

よろしくお願いします

補足情報(FW/ツールのバージョンなど)

Python 3.10以上

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント