“Pythonのジェネレーターは要素の数をどのように取得しますか?”

Pythonのジェネレータは、特別なイテレータであり、必要に応じて値を生成することができますが、すべての値を一度に生成しません。そのため、ジェネレータオブジェクトには固定の要素数がありません。それらは必要に応じて生成されるからです。

生成器オブジェクトの要素の数を取得したい場合は、次のいくつかの方法を使用できます。

  1. 合計()
  2. 合計()
gen = (x for x in range(10))  # 示例生成器对象
count = sum(1 for _ in gen)
print(count)  # 输出结果为 10
  1. 長さ()
  2. リスト()
  3. 長さ()
gen = (x for x in range(10))  # 示例生成器对象
count = len(list(gen))
print(count)  # 输出结果为 10
  1. 「~のために」
  2. 次の()
gen = (x for x in range(10))  # 示例生成器对象
count = 0
for _ in gen:
    count += 1
print(count)  # 输出结果为 10
gen = (x for x in range(10))  # 示例生成器对象
count = 0
while True:
    try:
        _ = next(gen)
        count += 1
    except StopIteration:
        break
print(count)  # 输出结果为 10

生成器オブジェクトを一度すべてイテレートすると、再びイテレートすることはできませんので、要素の数を取得した後、生成器オブジェクトは空になります。生成器オブジェクトを複数回イテレートする必要がある場合は、リストなどの他のデータ構造を使用することを検討してください。

bannerAds