gpt4 book ai didi

python - 有没有办法让一种方法在另一种方法中从生成器获取下一个值?

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:36 25 4
gpt4 key购买 nike

我的 get_new_point 方法中有一个生成器,它从字典中的数据框中检索数据元组。理想情况下,当我运行 update_trailing_points 方法时,它会从生成器中检索下一个元组。但是,当我实际运行 update_trailing_points 方法时,它每次都返回相同的元组(数据帧的第一行)。我在这里做错了什么?

让我解释一下我的数据结构,因为我知道它们可能有点困惑:

all_data 是数据帧的字典。键是“符号”

symbol_list 是键(符号)的列表

    def get_new_point(self,symbol):
for i in self.all_data[symbol].index:
yield tuple([self.all_data[symbol]['timestamp'][i],\
self.all_data[symbol]['point'][i])

def update_trailing_points(self):
for s in self.symbol_list:
try:
new_point = self.get_new_point(s).__next__()
except StopIteration:
self.continue_test = False

最佳答案

self.get_new_point(s) 返回生成器对象。

new_point = self.get_new_point(s).__next__()

每次运行这段代码时,您都在重新初始化生成器。您应该只调用一次 self.get_new_point(s),但多次调用该对象的 __next__()

关于python - 有没有办法让一种方法在另一种方法中从生成器获取下一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56068622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com