回答編集履歴
4
回答の削除
answer
CHANGED
@@ -1,30 +1,1 @@
|
|
1
|
-
Windows 11、Python 3.13.3で確認しました。
|
2
|
-
|
3
|
-
```
|
4
|
-
for i in range(5):
|
5
|
-
print(id(zenin[i]))
|
6
|
-
```
|
7
|
-
を追加してみるとわかりますが、zeninの各要素は同じオブジェクトです。
|
8
|
-
なので、1個書き換えると、全部書き換わります。
|
9
|
-
|
10
|
-
以下のように、一度に初期化するとよいです。
|
11
|
-
```
|
12
|
-
zenin = [['No'] * 5 for i in range(5)]
|
13
|
-
print(zenin)
|
14
|
-
zenin[1][0]="1"
|
15
|
-
print(zenin)
|
16
|
-
```
|
17
|
-
出力
|
18
|
-
```
|
19
|
-
[['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No']]
|
20
|
-
[['No', 'No', 'No', 'No', 'No'], ['1', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No']]
|
21
|
-
```
|
22
|
-
|
23
|
-
(追記)
|
24
|
-
melianさんのコメントにあるdeepcopyですが、[:]だと、知らないとdeepとshallowのどちらか迷うので、
|
25
|
-
```
|
26
|
-
import copy
|
27
|
-
(中略)
|
28
|
-
zenin.append(copy.deepcopy(t))
|
29
|
-
```
|
30
|
-
|
1
|
+
反応が無いので削除します。
|
3
回答の追記
answer
CHANGED
@@ -18,4 +18,13 @@
|
|
18
18
|
```
|
19
19
|
[['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No']]
|
20
20
|
[['No', 'No', 'No', 'No', 'No'], ['1', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No'], ['No', 'No', 'No', 'No', 'No']]
|
21
|
-
```
|
21
|
+
```
|
22
|
+
|
23
|
+
(追記)
|
24
|
+
melianさんのコメントにあるdeepcopyですが、[:]だと、知らないとdeepとshallowのどちらか迷うので、
|
25
|
+
```
|
26
|
+
import copy
|
27
|
+
(中略)
|
28
|
+
zenin.append(copy.deepcopy(t))
|
29
|
+
```
|
30
|
+
のように明示的に書いたほうがよいと思います。
|
2
回答の修正の取り消し
answer
CHANGED
@@ -9,7 +9,6 @@
|
|
9
9
|
|
10
10
|
以下のように、一度に初期化するとよいです。
|
11
11
|
```
|
12
|
-
zenin=[]
|
13
12
|
zenin = [['No'] * 5 for i in range(5)]
|
14
13
|
print(zenin)
|
15
14
|
zenin[1][0]="1"
|
1
回答の修正
answer
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
以下のように、一度に初期化するとよいです。
|
11
11
|
```
|
12
|
+
zenin=[]
|
12
13
|
zenin = [['No'] * 5 for i in range(5)]
|
13
14
|
print(zenin)
|
14
15
|
zenin[1][0]="1"
|