http://d.hatena.ne.jp/yaneurao/20060506#p1
結局、どの言語でも、最初に値型と参照型の区別を覚えないといけないんだな。そして気をつけて使うと。
2チャンネルのPythonスレでも、空要素10個のリストをどう作るか?という話題があって、以下の2つの方法が比べられていた。
>>> n = [[]] * 10 >>> m = [ [] for i in range(10) ] >>> >>> print n [[], [], [], [], [], [], [], [], [], []] >>> print m [[], [], [], [], [], [], [], [], [], []] >>> >>> n[1].append('N') >>> m[1].append('N') >>> print n [['N'], ['N'], ['N'], ['N'], ['N'], ['N'], ['N'], ['N'], ['N'], ['N']] >>> print m [[], ['N'], [], [], [], [], [], [], [], []] >>>
静的型付けでも動的型付けでも関係ないと。