开始使用免费开始使用

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().

本练习是课程的一部分

Practicing Coding Interview Questions in Python

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

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

for item in zip(gen, func1(10)):
    print(item)
编辑并运行代码