Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Python でリスト内の各項目を再割り当てしたい。
In [20]: l = [1,2,3,4,5] In [21]: for i in l: ....: i = i + 1 ....: ....:
しかし、リストはまったく変更されませんでした。
In [22]: l Out[22]: [1, 2, 3, 4, 5]
なぜこれが起こったのか知りたいです。リストの繰り返しを詳細に説明できる団体はありますか? ありがとう。
これは、Python が変数とそれらが参照する値を処理する方法によるものです。
リスト要素自体を変更する必要があります。
for i in xrange(len(l)): l[i] += 1
>>> a = [1, 2, 3, 4, 5] >>> a = [i + 1 for i in a] >>> a [2, 3, 4, 5, 6]