TG Telegram Group & Channel
Python Codes | United States America (US)
Create: Update:

unfold

Builds a list, using an iterator function and an initial seed value.

The iterator function accepts one argument (seed) and must always return a list with two elements ([value, nextSeed]) or False to terminate.
Use a generator function, fn_generator, that uses a while loop to call the iterator function and yield the value until it returns False.
Use a list comprehension to return the list that is produced by the generator, using the iterator function.

CODE:

def unfold(fn, seed):
def fn_generator(val):
while True:
val = fn(val[1])
if val == False: break
yield val[0]
return [i for i in fn_generator([None, seed])]

f = lambda n: False if n > 50 else [-n, n + 10]
INPUT:
unfold(f, 10)

OUTPUT:
[-10, -20, -30, -40, -50]

Share and Support
@Python_Codes

unfold

Builds a list, using an iterator function and an initial seed value.

The iterator function accepts one argument (seed) and must always return a list with two elements ([value, nextSeed]) or False to terminate.
Use a generator function, fn_generator, that uses a while loop to call the iterator function and yield the value until it returns False.
Use a list comprehension to return the list that is produced by the generator, using the iterator function.

CODE:

def unfold(fn, seed):
def fn_generator(val):
while True:
val = fn(val[1])
if val == False: break
yield val[0]
return [i for i in fn_generator([None, seed])]

f = lambda n: False if n > 50 else [-n, n + 10]
INPUT:
unfold(f, 10)

OUTPUT:
[-10, -20, -30, -40, -50]

Share and Support
@Python_Codes


>>Click here to continue<<

Python Codes




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)