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

avi.e.gross at gmail.com avi.e.gross at gmail.com
Sun Jun 9 19:30:02 EDT 2024


HH,

Before bothering, it might be helpful if you spelled out a bit more in the
way of requirements that would satisfy you and perhaps show your attempts.

Your examples suggest it would be fairly simple to create an iterator, for
example, that would yield as it examined one item at a time until it ran out
or the next item was not the same. It could then either return a tuple it
had collected so far since the last yield, or for what you call chunkC,
return a tuple containing one copy of the item and a count of how many.

But if you want something else, such as a list all at once, that too would
be trivial, perhaps leveraging the above.

-----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))
-- 
https://mail.python.org/mailman/listinfo/python-list



More information about the Python-list mailing list