smfiles writes: > I think it's necessary to add a segment() method to str type or > string module. This method is used to split a string into m parts > and return all cases. With segment(), you can avoid tedious > calculation and indexing if you want to segment a string.
In addition to David's pointers to code using combinations, here's a one-liner based on more_itertools. Given combinatoric explosion, it might be better to use a genexp instead of a list as return value, and an "efficient but convoluted" algorithm might be justified if len(s) is at all large. # more_itertools is not in stdlib, but can be pip'ed from more_itertools import partitions as p def segment(s, m): return [tuple("".join(y) for y in x) for x in p(s) if len(x) == m] _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/GJ6FICIID7MEX4O2JRVOLJFOT5PSO46J/ Code of Conduct: http://python.org/psf/codeofconduct/