Pythonでのgenerateの使い方はどうですか?

Pythonでは、”generate”は通常、ジェネレータ(generator)を指します。ジェネレータは特別なイテレータであり、値を必要とするときに生成できますが、すべての値を事前に生成または保存する必要はありません。

生成器を作成するには、生成器関数またはジェネレータ式を使用することができます。

  1. 甘収穫
  2. 次の()
  3. 次の()
  4. 産出する

以下はジェネレーター関数の例です:

def my_generator():
    yield 1
    yield 2
    yield 3

# 使用生成器函数创建生成器对象
gen = my_generator()

# 使用生成器对象生成值
print(next(gen))  # 输出: 1
print(next(gen))  # 输出: 2
print(next(gen))  # 输出: 3
  1. 生成器式:
    生成器式は、リスト内包表記に似ていますが、角括弧ではなく丸括弧を使用し、ジェネレーターオブジェクトを返します。

以下はジェネレータ式の例です。

gen = (x for x in range(1, 4))

# 使用生成器对象生成值
print(next(gen))  # 输出: 1
print(next(gen))  # 输出: 2
print(next(gen))  # 输出: 3

生成器を一回しか走査できることに気をつける必要がある。生成器内のすべての値が生成され消費された後、next()メソッドを再度呼び出すとStopIteration例外が発生します。

bannerAds