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

回答編集履歴

4

バグ実行例追加

2020/01/22 09:59

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -4,6 +4,24 @@
4
4
  これはバグの元です。
5
5
  これで実装しないといけないとか、ありえないです。
6
6
 
7
+ バグ実行例:
8
+
9
+ ```python
10
+ a = [[]] * 3
11
+ for i in range(1, 4):
12
+ a[0].append(i)
13
+
14
+ print(a)
15
+ print(len(a[0]))
16
+
17
+ del a[0][0]
18
+
19
+ print(a)
20
+ print(len(a[0]))
21
+ ```
22
+
23
+ うまくいく方法
24
+
7
25
  既存のリストを変更する方法:
8
26
 
9
27
  ```python

3

説明追記

2020/01/22 09:59

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,9 @@
1
+ > a = [[]] * 3
2
+ として実装しなければいけないです.
3
+
4
+ これはバグの元です。
5
+ これで実装しないといけないとか、ありえないです。
6
+
1
7
  既存のリストを変更する方法:
2
8
 
3
9
  ```python

2

インデックスとappendを使う方法を追記

2020/01/22 09:54

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -23,4 +23,22 @@
23
23
 
24
24
  print(b)
25
25
  print(len(b[0]))
26
+ ```
27
+
28
+ インデックスとappendを使う方法:
29
+
30
+ ```python
31
+ a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
32
+ print(a)
33
+ print(len(a[0]))
34
+
35
+ b = []
36
+ for y in range(len(a)):
37
+ c = []
38
+ for x in range(1, len(a[y])):
39
+ c.append(a[y][x])
40
+ b.append(c)
41
+
42
+ print(b)
43
+ print(len(b[0]))
26
44
  ```

1

新しいリストを作る方法を追記

2020/01/22 09:52

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,5 @@
1
+ 既存のリストを変更する方法:
2
+
1
3
  ```python
2
4
  a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3
5
  print(a)
@@ -8,4 +10,17 @@
8
10
 
9
11
  print(a)
10
12
  print(len(a[0]))
13
+ ```
14
+
15
+ 新しいリストを作る方法:
16
+
17
+ ```python
18
+ a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
19
+ print(a)
20
+ print(len(a[0]))
21
+
22
+ b = [row[1:] for row in a]
23
+
24
+ print(b)
25
+ print(len(b[0]))
11
26
  ```