Python:如何使用生成器函数初始化列表

假设我有以下2个函数:

def get_items():
    items = []
    for i in xrange(2, 10):
        items.append(i)
    return items

def gen_items():
    for i in xrange(2, 10):
        yield i

我知道我可以像这样在for循环中使用它们

for item in gen_items():
    do something

但现在我需要将变量初始化为列表,就像这样

mylist = get_items()

但具有发电机功能.有没有办法在没有for循环附加生成器中的项目的情况下执行此操作?

最佳答案 内置列表将接受任何迭代器:

l = list(gen_items())
点赞