回答編集履歴

2

修正

2018/06/01 12:09

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -16,13 +16,17 @@
16
16
 
17
17
  a = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
18
18
 
19
- for e in a:
19
+ a[1][1] = 1
20
-
21
- print(id(e))
22
20
 
23
21
 
24
22
 
25
- print()
23
+ for e in a:
24
+
25
+ print(f'{id(e)}: {e}')
26
+
27
+
28
+
29
+ print('-'*42)
26
30
 
27
31
 
28
32
 
@@ -32,13 +36,17 @@
32
36
 
33
37
  b = [[0] * 3] * 3
34
38
 
39
+ b[1][1] = 1
40
+
41
+
42
+
35
43
  for e in b:
36
44
 
37
- print(id(e))
45
+ print(f'{id(e)}: {e}')
38
46
 
39
47
 
40
48
 
41
- print()
49
+ print('-'*42)
42
50
 
43
51
 
44
52
 
@@ -48,38 +56,48 @@
48
56
 
49
57
  c = [[0] * 3 for _ in range(3)]
50
58
 
59
+ c[1][1] = 1
60
+
61
+
62
+
51
63
  for e in c:
52
64
 
53
- print(id(e))
65
+ print(f'{id(e)}: {e}')
66
+
67
+
68
+
69
+ print('-'*42)
54
70
 
55
71
  ```
56
72
 
57
73
 
58
74
 
59
- **実行結果** [Wandbox](https://wandbox.org/permlink/xdcNb06JtTjRN3AI)
75
+ **実行結果** [Wandbox](https://wandbox.org/permlink/HEZpkk81o8qx6UYW)
60
76
 
61
77
  ```
62
78
 
63
- 139752138114696
79
+ 139895659521672: [0, 0, 0]
64
80
 
65
- 139752138114888
81
+ 139895659521864: [0, 1, 0]
66
82
 
67
- 139752138115208
83
+ 139895659522184: [0, 0, 0]
68
84
 
85
+ ------------------------------------------
69
86
 
87
+ 139895659523656: [0, 1, 0]
70
88
 
71
- 139752138115336
89
+ 139895659523656: [0, 1, 0]
72
90
 
73
- 139752138115336
91
+ 139895659523656: [0, 1, 0]
74
92
 
75
- 139752138115336
93
+ ------------------------------------------
76
94
 
95
+ 139895659523976: [0, 0, 0]
77
96
 
97
+ 139895659524040: [0, 1, 0]
78
98
 
79
- 139752138116296
99
+ 139895659544648: [0, 0, 0]
80
100
 
81
- 139752138116360
101
+ ------------------------------------------
82
-
83
- 139752138116424
84
102
 
85
103
  ```

1

追記

2018/06/01 12:09

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -5,3 +5,81 @@
5
5
 
6
6
 
7
7
  良く躓くポイントなので、調べれば同様の話題はたくさん出てきます。
8
+
9
+
10
+
11
+ ---
12
+
13
+ 実際にidを確認してみると良いです。
14
+
15
+ ```Python
16
+
17
+ a = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
18
+
19
+ for e in a:
20
+
21
+ print(id(e))
22
+
23
+
24
+
25
+ print()
26
+
27
+
28
+
29
+ #
30
+
31
+ #
32
+
33
+ b = [[0] * 3] * 3
34
+
35
+ for e in b:
36
+
37
+ print(id(e))
38
+
39
+
40
+
41
+ print()
42
+
43
+
44
+
45
+ #
46
+
47
+ #
48
+
49
+ c = [[0] * 3 for _ in range(3)]
50
+
51
+ for e in c:
52
+
53
+ print(id(e))
54
+
55
+ ```
56
+
57
+
58
+
59
+ **実行結果** [Wandbox](https://wandbox.org/permlink/xdcNb06JtTjRN3AI)
60
+
61
+ ```
62
+
63
+ 139752138114696
64
+
65
+ 139752138114888
66
+
67
+ 139752138115208
68
+
69
+
70
+
71
+ 139752138115336
72
+
73
+ 139752138115336
74
+
75
+ 139752138115336
76
+
77
+
78
+
79
+ 139752138116296
80
+
81
+ 139752138116360
82
+
83
+ 139752138116424
84
+
85
+ ```