On 6/9/2024 3:50 PM, MRAB wrote:
On 2024-06-09 22:20, HenHanna via Python-list wrote:
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))
You can make use of itertools.groupby.
Thanks! i'll try it.
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)))
--
https://mail.python.org/mailman/listinfo/python-list