in Python? -- Chunk -- (ChunkC '(a a b b b)), ==> ((a 2) (b 3))

HenHanna HenHanna at devnull.tb
Sun Jun 9 22:36:39 EDT 2024


On 6/9/2024 7:05 PM, avi.e.gross at gmail.com wrote:
> 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-----
> From: Python-list <python-list-bounces+avi.e.gross=gmail.com at python.org> On
> Behalf Of HenHanna via Python-list
> Sent: Sunday, June 9, 2024 5:20 PM
> To: python-list at python.org
> 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)))


More information about the Python-list mailing list