gpt4 book ai didi

dictionary - Clojure 迭代一个向量并向前看/向后看

转载 作者:行者123 更新时间:2023-12-04 00:42:29 26 4
gpt4 key购买 nike

我确实必须遍历一个向量,而向量又以 map 作为其项。我需要比较下一张 map ,有时我需要查看我们之前查看的 map 中的内容。所以有必要有某种前瞻/后视功能。我目前的方法可行,但我猜它是丑陋的、不合常理的 Clojure,我认为必须有更好(更规范)的方法来实现这一点。

(let [result (apply str (map (fn [{position-before :position compound-before :compund } ; previous term (unfortunately we need to compare all three)
{:keys [word position line tag stem compound grammarpos] :or {grammarpos "0" stem "" } } ; this maps to the current word
{position-ahead :position compound-ahead :compound line-ahead :line}] ; this is for lookahead
(do some stuff)) ;; now we have position, which is our current position, position-before and position-after to compare with each other
;; this is how we map:
(into '[{}] (conj grammar '[{}]))
(next (into '[{}] (conj grammar '[{}])))
(next (next (into '[{}] (conj grammar '[{}]))))))])

至于data-example的请求,这是vector的一部分:

[{:tag "0", :position "0", :line "0", :stem "dev", :grammarpos "2625", :word "deva"} {:tag "0", :position "0", :line "0", :stem "deva", :grammarpos "4", :word "deva"}]

工作是比较职位、复合等的值,有时向前看,有时向后看。

最佳答案

您可以迭代向量的一个 partition,大小为 3,步长为 1。然后对于向量中的每个元素,您还可以获得之前和之后的结果,您可以将其研究为您使用 forreduce 进行迭代。

一些例子:https://clojuredocs.org/clojure.core/partition

关于dictionary - Clojure 迭代一个向量并向前看/向后看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com