回答編集履歴
1
(3b)と(3c)の関数を1つにまとめました
test
CHANGED
@@ -6,15 +6,13 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
たとえば以下のように
|
9
|
+
たとえば以下のように2つの再帰関数に分けられます。
|
10
10
|
|
11
11
|
|
12
12
|
|
13
13
|
- (3a)の関数:(外側のループ) `ELE_list`の要素(アイテム名)を1つずつ取り出して、`BIG_list`と共に(3b)の関数を適用する
|
14
14
|
|
15
|
-
- (3b)の関数:(内側のループ
|
15
|
+
- (3b)の関数:(内側のループ) アイテム名と`BIG_list`を引数にとり、そのアイテムが出てくる`BIG_list`の要素番号を調べる。結果を`[(アイテム名, 要素番号); ..]`の形で返す。例:アイテムが`"apple"`なら`[("apple, 1); ("apple", 2)]`を返す
|
16
|
-
|
17
|
-
- (3c)の関数:(内側のループ その2) アイテム名(`"apple"`)と(3b)が返した値(`[1; 2]`)を、`[("apple", 1); ("apple", 2)]`の形へと変換する
|
18
16
|
|
19
17
|
|
20
18
|
|