簡體   English   中英

python - 從生成器獲取特定的生成器數據

[英]python - getting specific generator data from the generator

讓我們從代碼開始

class MyClass:
   def __init__(self):
      self.elemplusone = None
      self.elemplustwo = None
      self.data = self.generate_data()
      
   def generate_data(self):
      for elem in range(10):
         yield elem+1, elem+2

我需要獲取生成器的第一個和第二個元素。 現在,我在創建 object 之后在 class 之外調用它:

a_generator = MyClass()
c = next(a_generator.data)
elemplusone = c[0]
elemplustwo = c[1]

但我需要在 class 中指定它們(作為單獨的生成器),我無法創建兩個生成器方法。

謝謝

我也不太明白你到底是什么意思。 但這對你有幫助嗎?

class MyClass:
   def __init__(self):
      self.data = self.generate_data()
      self.update_elements()

   def update_elements(self):
      self.elemplusone, self.elemplustwo = [x for x in next(self.data)]

   def generate_data(self):
      for elem in range(10):
          print("Yielded")
          yield elem + 1, elem + 2

a_generator = MyClass()

a_generator.elemplusone為 1, a_generator.elemplustwo為 2。

現在您可以調用a_generator.update_elements()再次生成您的元素並在您的生成器中繼續。 如果這對您有幫助,請告訴我。 祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM