Get startedGet started for free

Generator comprehensions

You are given the following generator functions (you can test them in the console):

def func1(n):
  for i in range(0, n):
    yield i**2
def func2(n):
  for i in range(0, n):
     if i%2 == 0:
       yield 2*i
def func3(n, m):
  for i in func1(n):
    for j in func2(m):
      yield ((i, j), i + j)

Note that func3() uses internally func1() and func2().

This exercise is part of the course

Practicing Coding Interview Questions in Python

View Course

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Rewrite func1() as a generator comprehension
gen = ____

for item in zip(gen, func1(10)):
    print(item)
Edit and Run Code