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

标签 python generator

假设我有以下 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())

关于Python:如何使用生成器函数初始化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39898514/

相关文章:

php - 在网页中单击按钮时,如何显示列表中的随机短语?

python - 在协程中产生

python - 如何在 python 中使用生成器循环大型 Parquet 文件?

Python包版本标准

python - 从 Flask 中的 S3 返回 PDF

javascript - 从事件发射器创建生成器

python - 2D 可变迭代器/生成器

python - 使用 Python 和 win32com 从 Outlook 检索电子邮件时突然出错

python - 为什么在 .vim 文件中编写 Python 时 "\n"会变成 "^@"?

python - 如何使用 python 为 'in' 实现自定义比较器