Discussion:
in Python? -- Chunk -- (ChunkC '(a a b b b)), ==> ((a 2) (b 3))
(too old to reply)
HenHanna
2024-06-10 02:36:39 UTC
Permalink
I remembered that HenHanna had been hard to deal with in the past and when
my reply to him/her/them bounced as a bad/fake address it came back to me
that I am better off not participating in this latest attempt to get us to
perform then probably shoot whatever we say down.
A considerate person would ask questions more clearly and perhaps explain
what language they are showing us code from and so on.
Life is too short to waste.
-----Original Message-----
Behalf Of HenHanna via Python-list
Sent: Sunday, June 9, 2024 5:20 PM
Subject: in Python? -- Chunk -- (ChunkC '(a a b b b)), ==> ((a 2) (b 3))
Chunk, ChunkC -- nice simple way(s) to write these in Python?
(Chunk '(a a b a a a b b))
==> ((a a) (b) (a a a) (b b))
(Chunk '(a a a a b c c a a d e e e e))
==> ((a a a a) (b) (c c) (a a) (d) (e e e e))
(Chunk '(2 2 foo bar bar j j j k baz baz))
==> ((2 2) (foo) (bar bar) (j j j) (k) (baz baz))
_________________
(ChunkC '(a a b b b))
==> ((a 2) (b 3))
(ChunkC '(a a b a a a b b))
==> ((a 2) (b 1) (a 3) (b 2))
i was just curiuos about simple, clever way to write it in Python


in Scheme (Gauche)

(use srfi-1) ;; span

(define (gp x)
(if (null? x) '()
(let-values (((F L) (span (cut equal? (car x) <>) x)))
(cons F (gp L)))))

(print (gp '(a b b a a a b b b b)))
(print (gp '(c c c a d d d d a e e e e e)))

(define (gpC x) (map (lambda (x) (list (car x) (length x))) (gp x)))

(print (gpC '(a b b a a a b b b b)))
(print (gpC '(c c c a d d d d a e e e e e)))
B. Pym
2024-06-15 02:53:52 UTC
Permalink
(Chunk '(a a b a a a b b))
==> ((a a) (b) (a a a) (b b))
Gauche Scheme:

(use gauche.sequence)

(group-sequence '(2 4 4 3 0 5 8 6 6 6))
===>
((2) (4 4) (3) (0) (5) (8) (6 6 6))

Loading...