質問するログイン新規登録

質問編集履歴

3

説明文を変更しました。

2021/01/02 14:04

投稿

zeeroo
zeeroo

スコア7

title CHANGED
File without changes
body CHANGED
@@ -12,9 +12,13 @@
12
12
  for i in range(1,11):
13
13
  a.append(i)
14
14
  if i % 5 = 0:
15
+    print(a)
16
+ #1回目: a = [1,2,3,4,5]
17
+ #2回目: a = [6,7,8,9,10]
15
18
  b.append(a)
16
19
     print(b)
20
+ #1回目: b = [[1,2,3,4,5]]
17
-    #b = [[6,7,8,9,10],[6,7,8,9,10]]
21
+    #2回目: b = [[6,7,8,9,10],[6,7,8,9,10]]
18
22
  a.clear()
19
23
  print(b)
20
24
  #b = [[],[]]
@@ -22,7 +26,11 @@
22
26
  ```
23
27
 
24
28
  上記のように最初に追加したリストに上書きされて追加されます。
29
+ しかもfor文を抜けると空になります。
30
+ 不思議でなりません。
25
31
 
32
+ あなたの環境で試した結果、または解決法をお書きください。
33
+
26
34
  想定は
27
35
  b = [[1,2,3,4,5],[6,7,8,9,10]]
28
36
  です。

2

if文の中身を変更しました。

2021/01/02 14:04

投稿

zeeroo
zeeroo

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,10 @@
1
1
  2次元配列の追加が想定どおりにいきません。
2
2
  何故でしょうか。
3
+
4
+ 環境は
5
+ Python3.8.5
6
+ anaconda
7
+
3
8
  ```python3.8.5
4
9
 
5
10
  a = []
@@ -8,9 +13,12 @@
8
13
  a.append(i)
9
14
  if i % 5 = 0:
10
15
  b.append(a)
16
+    print(b)
17
+    #b = [[6,7,8,9,10],[6,7,8,9,10]]
11
18
  a.clear()
12
19
  print(b)
13
- #b = [[6,7,8,9,10],[6,7,8,9,10]]
20
+ #b = [[],[]]
21
+
14
22
  ```
15
23
 
16
24
  上記のように最初に追加したリストに上書きされて追加されます。

1

if文の条件を変更しました。

2021/01/02 14:00

投稿

zeeroo
zeeroo

スコア7

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  b = []
7
7
  for i in range(1,11):
8
8
  a.append(i)
9
- if i % 5:
9
+ if i % 5 = 0:
10
10
  b.append(a)
11
11
  a.clear()
12
12
  print(b)