From: Raymond Hettinger Date: Thu, 3 Feb 2022 08:12:08 +0000 (-0600) Subject: Add recipe for subslices (GH-31095) X-Git-Tag: v3.10.3~133 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a77de58108a89ada49a3af7613e84df436fd147c;p=thirdparty%2FPython%2Fcpython.git Add recipe for subslices (GH-31095) --- diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 34667561c3cf..6e1ba3c44012 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -893,6 +893,12 @@ which incur interpreter overhead. yield from it return true_iterator(), remainder_iterator() + def subslices(seq): + "Return all contiguous non-empty subslices of a sequence" + # subslices('ABCD') --> A AB ABC ABCD B BC BCD C CD D + slices = starmap(slice, combinations(range(len(seq) + 1), 2)) + return map(operator.getitem, repeat(seq), slices) + def powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" s = list(iterable)