Add append-lists.
This commit is contained in:
parent
66f1157200
commit
929bf09299
2 changed files with 24 additions and 1 deletions
|
@ -392,6 +392,17 @@ a couple conversions.
|
||||||
(lists-transpose '((a b) (1 2 3) (#t)))
|
(lists-transpose '((a b) (1 2 3) (#t)))
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
@defproc[(append-lists [lsts (Listof (List (Listof a) (Listof a)))])
|
||||||
|
(Listof (Listof a))]{
|
||||||
|
|
||||||
|
@racket[lsts] is a list of rows, in which each row is split in two halves.
|
||||||
|
The function returns the list of the same rows, with the two halves appended.
|
||||||
|
|
||||||
|
@examples[#:eval utils-evaluator
|
||||||
|
(append-lists '(((1 2) (a b))
|
||||||
|
((3 4) (c d))))
|
||||||
|
]}
|
||||||
|
|
||||||
@section{Randomness}
|
@section{Randomness}
|
||||||
|
|
||||||
@defproc*[([(in-random) (Sequenceof Flonum)]
|
@defproc*[([(in-random) (Sequenceof Flonum)]
|
||||||
|
|
14
utils.rkt
14
utils.rkt
|
@ -13,7 +13,7 @@
|
||||||
list-sets->list-strings pretty-print-set pretty-print-set-sets
|
list-sets->list-strings pretty-print-set pretty-print-set-sets
|
||||||
update-vertices/unweighted update-graph dotit collect-by-key
|
update-vertices/unweighted update-graph dotit collect-by-key
|
||||||
collect-by-key/sets ht-values/list->set hash->list/ordered
|
collect-by-key/sets ht-values/list->set hash->list/ordered
|
||||||
multi-split-at lists-transpose in-random cartesian-product-2/stream
|
multi-split-at lists-transpose append-lists in-random cartesian-product-2/stream
|
||||||
cartesian-product/stream boolean-power boolean-power/stream any->01
|
cartesian-product/stream boolean-power boolean-power/stream any->01
|
||||||
01->boolean
|
01->boolean
|
||||||
|
|
||||||
|
@ -443,6 +443,18 @@
|
||||||
(test-case "lists-transpose"
|
(test-case "lists-transpose"
|
||||||
(check-equal? (lists-transpose '((1 2) (a b))) '((1 a) (2 b)))))
|
(check-equal? (lists-transpose '((1 2) (a b))) '((1 a) (2 b)))))
|
||||||
|
|
||||||
|
(: append-lists (All (a) (-> (Listof (List (Listof a) (Listof a))) (Listof (Listof a)))))
|
||||||
|
(define (append-lists lsts)
|
||||||
|
(for/list ([pr lsts])
|
||||||
|
(append (car pr) (cadr pr))))
|
||||||
|
|
||||||
|
(module+ test
|
||||||
|
(test-case "append-lists"
|
||||||
|
(check-equal? (append-lists '(((1 2) (a b))
|
||||||
|
((3 4) (c d))))
|
||||||
|
'((1 2 a b)
|
||||||
|
(3 4 c d)))))
|
||||||
|
|
||||||
(: in-random (case->
|
(: in-random (case->
|
||||||
(-> (Sequenceof Flonum))
|
(-> (Sequenceof Flonum))
|
||||||
(-> Integer (Sequenceof Nonnegative-Fixnum))
|
(-> Integer (Sequenceof Nonnegative-Fixnum))
|
||||||
|
|
Loading…
Reference in a new issue