Builds a list, using an iterator function and an initial seed value.
seed) and must always return a list with two elements ([
fn_generator, that uses a
whileloop to call the iterator function and
valueuntil it returns
def unfold(fn, seed): def fn_generator(val): while True: val = fn(val) if val == False: break yield val return [i for i in fn_generator([None, seed])]
f = lambda n: False if n > 50 else [-n, n + 10] unfold(f, 10) # [-10, -20, -30, -40, -50]
Tests a value,
x, against a testing function, conditionally applying a function.
Writing short, efficient Python code is not always straightforward. Read how we optimize our list snippets to increase performance using a couple of simple tricks.
Understand Python's named tuples and start using them in your projects today.