Mark Dickinson <[email protected]> added the comment:
For the record, this is an easy application of itertools.combinations:
>>> def segment(s, m):
... for c in itertools.combinations(range(1, len(s)), m-1):
... yield tuple(s[i:j] for i, j in zip((0,)+c, c+(len(s),)))
...
>>> list(segment("12345", m=3))
[('1', '2', '345'), ('1', '23', '45'), ('1', '234', '5'), ('12', '3', '45'),
('12', '34', '5'), ('123', '4', '5')]
----------
nosy: +mark.dickinson
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue39045>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com