回答編集履歴

4

追記

2017/12/05 02:57

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -7,6 +7,8 @@
7
7
 
8
8
 
9
9
  field = [['N' for _ in range(8)] for _ in range(8)]
10
+
11
+ # field = [list('N' * 8) for _ in range(8)] # これでも可
10
12
 
11
13
  field[3][3] = 'W'
12
14
 

3

追記

2017/12/05 02:57

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -53,3 +53,35 @@
53
53
  Pythonで非常によく見る失敗例です。
54
54
 
55
55
  [Qiita - Python のリストの扱いで注意すること](https://qiita.com/utgwkk/items/5ad2527f19150ae33322)
56
+
57
+
58
+
59
+ ご提示のコードの末尾でidを見てみると理由は明白です。
60
+
61
+ **註: 実行時によって結果は異なります。しかし、全てのidが揃うのは間違いないです。**
62
+
63
+ ```Python
64
+
65
+ >>> for row in big_list:
66
+
67
+ ... print(id(row))
68
+
69
+ ...
70
+
71
+ 2009502115080
72
+
73
+ 2009502115080
74
+
75
+ 2009502115080
76
+
77
+ 2009502115080
78
+
79
+ 2009502115080
80
+
81
+ 2009502115080
82
+
83
+ 2009502115080
84
+
85
+ 2009502115080
86
+
87
+ ```

2

リンクの変更

2017/12/05 02:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -52,4 +52,4 @@
52
52
 
53
53
  Pythonで非常によく見る失敗例です。
54
54
 
55
- [公式FAQ](https://docs.python.jp/3/faq/programming.html#how-do-i-create-a-multidimensional-list)にもそれに関する記述があります。
55
+ [Qiita - Python のリストの扱いで注意すること](https://qiita.com/utgwkk/items/5ad2527f19150ae33322)

1

追記

2017/12/05 02:51

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,3 +1,5 @@
1
+ こんな感じですかね。
2
+
1
3
  ```Python
2
4
 
3
5
  from pprint import pprint
@@ -41,3 +43,13 @@
41
43
  """
42
44
 
43
45
  ```
46
+
47
+
48
+
49
+ 原因
50
+
51
+ ---
52
+
53
+ Pythonで非常によく見る失敗例です。
54
+
55
+ [公式FAQ](https://docs.python.jp/3/faq/programming.html#how-do-i-create-a-multidimensional-list)にもそれに関する記述があります。