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

    From HenHanna@HenHanna@devnull.tb to comp.lang.python,comp.lang.scheme on Sun Jun 9 19:36:39 2024
    From Newsgroup: comp.lang.scheme

    On 6/9/2024 7:05 PM, avi.e.gross@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@python.org> On Behalf Of HenHanna via Python-list
    Sent: Sunday, June 9, 2024 5:20 PM
    To: python-list@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)))
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From B. Pym@No_spamming@noWhere_7073.org to comp.lang.python,comp.lang.scheme on Sat Jun 15 02:53:52 2024
    From Newsgroup: comp.lang.scheme

    On 6/9/2024, HenHanna wrote:

    (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))

    --- Synchronet 3.22a-Linux NewsLink 1.2