1

私は次のような連想リストを持っています:

(defparameter *experts2*
  `(
    ;; direction
    (:direction . ( (nn-direction-expert (process-signal) :number-of-neighbors 10)
                    (fn-direction-expert (process-signal) :number-of-neighbors 10) ))



    ;; evaluation
    (:evaluation . ( 

                    ;(avoid-line-crossing-evaluation-expert (process-signal))
                    (nn-single-evaluation-expert (candidate-point))
                    (fn-single-evaluation-expert (candidate-point))
                    ;(nn-all-evaluation-expert (ranking))
                    ))

    ;; coordination
    (:coordination . (
                      ;(ranking-process (candidate-point))
                      (action-process (candidate-point ranking))))))

key => valueリストから値を抽出し、次のような新しいリストに入れる方法を探しています。

(defparameter *experts*
  `(
    ;; direction
    (nn-direction-expert (process-signal) :number-of-neighbors 10)
    (fn-direction-expert (process-signal) :number-of-neighbors 10)

    ;eher als evaluationsexperte
    ;(avoid-line-crossing-evaluation-expert (process-signal) )

    ;; evaluation
    (nn-single-evaluation-expert (candidate-point))
    (fn-single-evaluation-expert (candidate-point))
    ;(nn-all-evaluation-expert (ranking))

    ;; coordination
    ;(ranking-process (candidate-point))
    (action-process (candidate-point ranking))
    ))

助言がありますか?ご協力いただきありがとうございます。

よろしく

4

2 に答える 2

3

これはあなたが望む答えを生み出すようですが、それはあまりきれいではないようです:

(mapcan #'copy-list (mapcar #'cdr *experts2*))
于 2013-01-18T21:55:05.770 に答える
0

Samuel Edwin Wardの答えは機能しますが、ここにもう1つあります(実際に必要なことを実行するように編集されています)。したがって、の各要素について、*experts2*そのを取得しcdr、返されたリストから値を取得して、それらを1つのリストに結合する必要があります。

(apply #'append (mapcan #'cdr *experts2*))
于 2013-01-19T05:42:47.220 に答える