Unverified Kaydet (Commit) 9265dd72 authored tarafından Raymond Hettinger's avatar Raymond Hettinger Kaydeden (comit) GitHub

Add a prepend() recipe to teach a chain() idiom (GH-6415)

üst c87eb09d
...@@ -688,6 +688,11 @@ which incur interpreter overhead. ...@@ -688,6 +688,11 @@ which incur interpreter overhead.
"Return first n items of the iterable as a list" "Return first n items of the iterable as a list"
return list(islice(iterable, n)) return list(islice(iterable, n))
def prepend(value, iterator):
"Prepend a single value in front of an iterator"
# prepend(1, [2, 3, 4]) -> 1 2 3 4
return chain([value], iterator)
def tabulate(function, start=0): def tabulate(function, start=0):
"Return function(0), function(1), ..." "Return function(0), function(1), ..."
return map(function, count(start)) return map(function, count(start))
......
...@@ -2198,6 +2198,11 @@ Samuele ...@@ -2198,6 +2198,11 @@ Samuele
... "Return first n items of the iterable as a list" ... "Return first n items of the iterable as a list"
... return list(islice(iterable, n)) ... return list(islice(iterable, n))
>>> def prepend(value, iterator):
... "Prepend a single value in front of an iterator"
... # prepend(1, [2, 3, 4]) -> 1 2 3 4
... return chain([value], iterator)
>>> def enumerate(iterable, start=0): >>> def enumerate(iterable, start=0):
... return zip(count(start), iterable) ... return zip(count(start), iterable)
...@@ -2350,6 +2355,9 @@ perform as purported. ...@@ -2350,6 +2355,9 @@ perform as purported.
>>> take(10, count()) >>> take(10, count())
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(prepend(1, [2, 3, 4]))
[1, 2, 3, 4]
>>> list(enumerate('abc')) >>> list(enumerate('abc'))
[(0, 'a'), (1, 'b'), (2, 'c')] [(0, 'a'), (1, 'b'), (2, 'c')]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment