私はClojureコミュニティに参加しようとしています。私はPythonで多くの作業をしてきました。私が大いに活用している機能の1つは、zip()メソッドで、値のペアを繰り返し処理しています。 Clojureで同じことを達成する(巧妙で短い)方法がありますか?Clojureの2つのシーケンスからの値のペアの処理
8
A
答えて
12
もう一つの方法は、単純にこのように、順番に引数を収集し、いくつかの機能と一緒にマップを使用することです:
user=> (map vector '(1 2 3) "abc")
([1 \a] [2 \b] [3 \c])
4
(zipmap [:a :b :c] (range 3))
-> {:c 2, :b 1, :a 0}
マップを反復すると、ペアごとに発生します。このような:
(doseq [[k v] (zipmap [:a :b :c] (range 3))]
(printf "key: %s, value: %s\n" k v))
プリント:
key: :c, value: 2
key: :b, value: 1
key: :a, value: 0
+0
私はこのアプローチをテストしましたが、3つ以上のシーケンスを処理できませんでした。私は最初の質問にその要件を言及すべきだった、申し訳ありません。 – Thomas
3
質問答えはありましたが、依然としてinterleave
があります。これも任意の数のシーケンスを扱いますが、結果のシーケンスをタプルにグループ化しません(ただし、partition
はth at)。
関連する問題
- 1. 応答のキー値ペアの処理
- 2. Backbone.jsのキー値ペアのパラメータ処理ルータ
- 3. 2つのリストのペア値
- 4. Clojureのマップ処理のベクトル
- 5. 処理/ Java:1つのarraylistからの2つの出力
- 6. 2つのリスト(ペア)の同じ値
- 7. Clojureサブシーケンスのシーケンスの位置
- 8. XSLT関数の空のシーケンスの処理
- 9. スカラの将来のシーケンスとタイムアウト処理
- 10. 2つの辞書からのキーと値のペアの組み合わせ
- 11. 処理中の2つのアプレットのフォント
- 12. DataGridView内の2つのボタンの処理
- 13. 第2シーケンスの最初のシーケンスからのシード値を計算する
- 14. perlの2つの配列からハッシュマップ(キー値のペア)を作る方法
- 15. 422処理不能エンティティ応答Clojureの
- 16. シーケンス/値のコレクションをclojureの関数の1つの値としてどのように指定しますか?
- 17. mysqlのポーカーハンドから2つのペアを見つける
- 18. 2つのカスタムコントロール間のイベント処理
- 19. Clojureでこのシーケンス変換を処理する最良の方法は何ですか?
- 20. ObservableCollectionのシャニング処理シーケンス<T>(c#)
- 21. ペアのシーケンス上のクロージャの地図
- 22. シーケンスの2つの項目の間の最小値
- 23. は、2つの辞書の値/キーのペアが
- 24. 即座に2つの異なる値型を処理する
- 25. JavaFX 2のコンボボックスのキー値のペア
- 26. R:jsonlite - エクスポートキー:リストのリストから値のペア
- 27. sparkにはデフォルトでキーと値のペア処理がありますか?
- 28. ClojureクラスからのClojure ISeq
- 29. 処理無限(レイジー)シーケンス
- 30. GWTのネイティブドラッグアンドドロップイベント処理(2つのソース、1つのターゲット)
この例では、3つのシーケンスを処理できました。 – Thomas