私はPythonのリストについて一つの小さな疑問を持っている:
これはなぜ起こるのでしょうか?
x = [[]] * 4
x[0].append('x') -> [['x'], ['x'], ['x'], ['x']]
私はPythonのリストについて一つの小さな疑問を持っている:
これはなぜ起こるのでしょうか?
x = [[]] * 4
x[0].append('x') -> [['x'], ['x'], ['x'], ['x']]
:
それを行うための正しい方法は、明示的に毎回新しいリストインスタンスを作成することです。そしてあなたのリストには同じメモリ空間を指すすべての4つのリストがあるので、それらのうちの1つを変更すると、その変更はすべてに影響します。 – rubik
また、[Python FAQのこのエントリ](http://docs.python.org/faq/programming.html#how-do-i-create-a-multidimensional-list) – BioGeek
を参照してください。ありがとう、ありがとう.. – cval