gpt4 book ai didi

python - 生成器:以固定偏移量预处理事件

转载 作者:行者123 更新时间:2023-12-01 01:58:23 29 4
gpt4 key购买 nike

我有一个生成事件的生成器,我想用可以从 API 获取的附加元数据来丰富它。

某些事件具有与其链接的对象 ID,而其他事件则具有对象的哈希值,但不能同时具有两者。我无法根据哈希获取对象 id,我只能执行 id->hash。

我希望在所有事件中都拥有 id 和 hash 字段,通过仅“向前看”生成器固定数量的事件,并在 id 和 hash 之间构建双向映射。我不想将整个迭代遍历两次(首先构建映射,然后打印它)。

假设我有一个 populate_mapping 方法和一个 encrich_event 方法(两者一次接收一个事件),其中 populate_mapping 更新全局字典并且 encrich_event 使用该字典,我希望以这样的方式调用它们:populate_mapping 处理的 N 事件多于 encrich_event,并且 enrich_event 的结果仍然是延迟计算的并且可以通过生成器获得。

最佳答案

您提出问题的方式非常抽象,但您似乎正在尝试使用可以将迭代器一分为二的itertools.tee函数

x1, x2 = itertools.tee(your_generator, 2)

然后跳过第一个迭代器中的前 4 个元素:

x1 = itertools.islice(x1, 4, None)

将 x1 传递给一个函数,将 x2 传递给另一个函数,x1 将领先 4 个元素,除非需要,否则不会消耗额外的元素(tee 函数上下文将在其范围内内部存储 4 个元素)

关于python - 生成器:以固定偏移量预处理事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929905/

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