回答編集履歴

3

修正

2020/04/09 16:13

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -32,13 +32,15 @@
32
32
 
33
33
 
34
34
 
35
- tmp = []
35
+ tmp = [] # f の適用結果を記録する一時的な配列
36
36
 
37
- for x in numbers: # X周目は、numbersリストのX個目しかとっていない???
37
+ for x in numbers:
38
38
 
39
39
  y = f(x)
40
40
 
41
41
  tmp.append(y)
42
+
43
+
42
44
 
43
45
  numbers += tmp
44
46
 

2

修正

2020/04/09 16:13

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -5,10 +5,6 @@
5
5
 
6
6
 
7
7
  ```python
8
-
9
- import numpy as np
10
-
11
-
12
8
 
13
9
  # 関数の定義
14
10
 
@@ -60,10 +56,6 @@
60
56
 
61
57
  ```python
62
58
 
63
- import numpy as np
64
-
65
-
66
-
67
59
  # 関数の定義
68
60
 
69
61
  bai2 = lambda x: x * 2

1

修正

2020/04/09 16:12

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -50,10 +50,48 @@
50
50
 
51
51
  print(numbers)
52
52
 
53
+ ```
53
54
 
54
55
 
55
- # 得られる結果:1, 2, 6
56
56
 
57
+ map() を使って簡潔に書くなら以下のように改善できます。
58
+
59
+
60
+
61
+ ```python
62
+
63
+ import numpy as np
64
+
65
+
66
+
67
+ # 関数の定義
68
+
69
+ bai2 = lambda x: x * 2
70
+
71
+ bai3 = lambda x: x * 3
72
+
73
+
74
+
75
+ # 関数用リスト
76
+
57
- # 得たい結果: 1, 2, 3, 6
77
+ function = [bai2, bai3]
78
+
79
+
80
+
81
+ # 結果リスト
82
+
83
+ numbers = [1]
84
+
85
+
86
+
87
+ # 結果リストに対して、関数リストを適用
88
+
89
+ for f in function:
90
+
91
+ numbers += list(map(f, numbers))
92
+
93
+
94
+
95
+ print(numbers)
58
96
 
59
97
  ```