リスト上の関数を他のすべてのリストメンバーに適用する

スティーブン

スターティングリストがあるとしましょう

let test = [1; 2; 3; 4; 5]

そして、最初の要素を他のすべての要素に追加し、次に2番目の要素を他のすべての要素に追加し、というように、次のような結果になるまで続けます。

result = [1, [3; 4; 5; 6]; 
          2, [3; 5; 6; 7]; 
          3, [4; 5; 7; 8]; 
          4, [5; 6; 7; 9]; 
          5, [6; 7; 8; 9]]

私の人生では、List.nここでどの方法が適切であるか、あるいはそれが存在するかどうかさえわかりません私はそれList.mapそれをしないことを知っています、そして私はそれをしないか、List.reduceまたはそうList.foldするつもりはありません、なぜならそれらは両方とも個々の機能ではなくアキュムレータであるからです。

私がやろうとしていることをする方法はありますか?

ご協力いただきありがとうございます

カルステン

Listモジュールには簡単に使用できる直接関数はないと思いますが、時々便利で、自分で簡単に定義できる関数があります。

let rec pick xs = 
   match xs with 
   | [] -> [] 
   | (x::xs) -> (x,xs) :: (List.map (fun (x',xs') -> (x',x::xs')) (pick xs))

これはタプルを生成し、最初のコンポーネントはリストの1つの値であり、2番目のコンポーネントはリストの残りの値です。

pick [1..5] =
  [(1, [2; 3; 4; 5])
  ;(2, [1; 3; 4; 5])
  ;(3, [1; 2; 4; 5])
  ;(4, [1; 2; 3; 5])
  ;(5, [1; 2; 3; 4])]

これであなたが望むことをするのは難しくありません:

let f xs = 
   List.map (fun (x,xs) -> (x, List.map (fun y -> y+x) xs)) 
            (pick xs)

> f [1;2;3;4;5];;
  [(1, [3; 4; 5; 6])
  ;(2, [3; 5; 6; 7])
  ;(3, [4; 5; 7; 8])
  ;(4, [5; 6; 7; 9])
  ;(5, [6; 7; 8; 9])]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Haskell関数をリストに適用するすべてのバリエーションを作成するための関数はありますか

分類Dev

CommonLisp-リスト内の他のすべての要素に関数を適用する

分類Dev

リスト内のすべての要素に関数を適用する

分類Dev

リスト内のリストに関数を適用する

分類Dev

任意のタイプのリストからのすべての要素に累積的な関数を適用する

分類Dev

Pythonのリストのメンバーに数学を適用する

分類Dev

リスト内のすべての要素に関数を別のリスト内のすべての要素に適用する

分類Dev

あるテーブルのすべてのエントリに別のテーブルのすべてのエントリに関数を適用する

分類Dev

関数のリストをJavaストリームの.map()メソッドに適用する

分類Dev

golangのリスト内のすべての要素に関数を適用する簡単な方法

分類Dev

Haskellのリスト内のすべての要素に関数を適用する方法は?

分類Dev

リストのすべてのメンバーを取得する

分類Dev

Rリストの特定の列に関数を適用する

分類Dev

Rのリストに独自の関数を適用する

分類Dev

Pythonの因子のリストに数学関数を適用する

分類Dev

R:データフレーム内のすべてのエントリに関数を適用する

分類Dev

リスト内のすべてのアイテムに関数を適用するPython

分類Dev

Rのリスト内のすべての要素にカウント関数を適用するにはどうすればよいですか?

分類Dev

Java8ストリームAPIを使用して関数のリストを値に適用する

分類Dev

Java8ストリームAPIを使用して関数のリストを値に適用する

分類Dev

関数のリストを値のリストに適用する

分類Dev

コレクションのすべてのメンバーに同じテストを適用する

分類Dev

関数のリストをパラメーター、clojureに適用します

分類Dev

pandasデータフレームに関数を適用して、他の列/セルに応じて列/セルのリストをスキャンします

分類Dev

リストの要素に関数(AIC)を適用する

分類Dev

リストの各要素に関数を適用する

分類Dev

連鎖リストに関数を適用するPythonの方法

分類Dev

要素のリストに関数を適用する

分類Dev

関数のリストに値を適用する

Related 関連記事

  1. 1

    Haskell関数をリストに適用するすべてのバリエーションを作成するための関数はありますか

  2. 2

    CommonLisp-リスト内の他のすべての要素に関数を適用する

  3. 3

    リスト内のすべての要素に関数を適用する

  4. 4

    リスト内のリストに関数を適用する

  5. 5

    任意のタイプのリストからのすべての要素に累積的な関数を適用する

  6. 6

    Pythonのリストのメンバーに数学を適用する

  7. 7

    リスト内のすべての要素に関数を別のリスト内のすべての要素に適用する

  8. 8

    あるテーブルのすべてのエントリに別のテーブルのすべてのエントリに関数を適用する

  9. 9

    関数のリストをJavaストリームの.map()メソッドに適用する

  10. 10

    golangのリスト内のすべての要素に関数を適用する簡単な方法

  11. 11

    Haskellのリスト内のすべての要素に関数を適用する方法は?

  12. 12

    リストのすべてのメンバーを取得する

  13. 13

    Rリストの特定の列に関数を適用する

  14. 14

    Rのリストに独自の関数を適用する

  15. 15

    Pythonの因子のリストに数学関数を適用する

  16. 16

    R:データフレーム内のすべてのエントリに関数を適用する

  17. 17

    リスト内のすべてのアイテムに関数を適用するPython

  18. 18

    Rのリスト内のすべての要素にカウント関数を適用するにはどうすればよいですか?

  19. 19

    Java8ストリームAPIを使用して関数のリストを値に適用する

  20. 20

    Java8ストリームAPIを使用して関数のリストを値に適用する

  21. 21

    関数のリストを値のリストに適用する

  22. 22

    コレクションのすべてのメンバーに同じテストを適用する

  23. 23

    関数のリストをパラメーター、clojureに適用します

  24. 24

    pandasデータフレームに関数を適用して、他の列/セルに応じて列/セルのリストをスキャンします

  25. 25

    リストの要素に関数(AIC)を適用する

  26. 26

    リストの各要素に関数を適用する

  27. 27

    連鎖リストに関数を適用するPythonの方法

  28. 28

    要素のリストに関数を適用する

  29. 29

    関数のリストに値を適用する

ホットタグ

アーカイブ