生成器不是迭代器吗?

2023-12-23

我有一个生成器(一个产生东西的函数),但是当试图将它传递给gensim.Word2Vec我收到以下错误:

类型错误:您不能将生成器作为句子参数传递。尝试迭代器。

生成器不是迭代器的一种吗?如果没有,我如何从中创建一个迭代器?

查看库代码,它似乎只是迭代类似的句子for x in enumerate(sentences),它与我的发电机配合得很好。那么是什么原因导致了这个错误呢?


发电机是筋疲力尽的经过一圈之后。 Word2vec 只需要多次遍历句子(并且可能获取给定索引的项目,这对于生成器来说是不可能的,生成器只是一种只能弹出的堆栈),因此需要更可靠的东西,例如列表。

特别是在他们的代码中,他们调用两个不同的函数,两个函数都迭代句子(因此,如果您使用生成器,第二个函数将在空集上运行)

self.build_vocab(sentences, trim_rule=trim_rule)
self.train(sentences)

它应该与任何实现的东西一起工作__iter__这不是GeneratorType。因此,将您的函数包装在可迭代接口中,并确保您可以多次遍历它,这意味着

sentences = your_code
for s in sentences:
  print s
for s in sentences:
  print s

打印您的收藏两次

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成器不是迭代器吗? 的相关文章

随机推荐

  • 部署到 heroku 更改 DEBUG = False 会导致 500 错误

    我在用着姜戈 1 9 and Python 3 4 3 在我的应用程序上更改 DEBUG False 时 我的应用程序的所有页面上都会出现 500 错误 注意 Django 管理页面也会导致 500 错误 一些 其他帖子报告说在管理页面上没
  • 临时类型变量的作用域

    我有大量到位vector http hackage haskell org package vector 0 10 0 1类型的函数 f M MVector v r PrimMonad m gt v PrimState m r gt v P
  • SQLAlchemy批量更新策略

    我目前正在使用 SQLAlchemy 在 GAE 上 连接到 Google 的云 MySQL 编写一个 Web 应用程序 Flask 并且需要对表进行批量更新 简而言之 进行了大量计算 导致需要在 1000 个对象上更新单个值 目前我正在一
  • 如何做好复杂功能的基准测试?

    我即将开始对 C 中的一组复杂函数进行非常详细的基准测试 这是 科学级别 的细节 我想知道 进行认真的基准测试的最佳方法是什么 我正在考虑运行它们 例如 每个运行 10 次 平均计时结果并给出标准开发 例如 仅使用
  • 使用 Twitter API 时收到“Stream遇到 HTTP 错误:403”。是什么原因导致此错误以及如何修复它?

    我对使用 Twitter API 非常陌生 并且正在测试一些 Python 代码 如下 from tweepy import OAuthHandler from tweepy import Stream import twitter cre
  • 例外首先出现在哪种语言中?

    我第一次接触到例外是在 ADA 83 中 据我所知 例外的概念是 ADA 的设计者发明的 这是真的吗 或者之前的任何编程语言也使用异常吗 根据c2 com 的突破性语言页面 http www c2 com cgi wiki GroundBr
  • 如何仅替换找到的文本的一部分?

    我有一个文件 其中包含一些逗号分隔的名称和一些逗号分隔的帐号 名字永远是这样的Dow John和像这样的数字012394 19862 Using 记事本 的 正则表达式查找 功能 我想用管道替换数字之间的逗号 基本上 turn Dow Jo
  • 为什么灰度图像有3个通道

    我正在对灰度图像执行操作 这些操作的结果图像具有与输入图像相同的扩展名 例如 如果输入图像是 jpg or png输出图像是 jpg or png分别 我将图像转换为灰度 如下所示 ImgProc cvtColor mat grayscal
  • 与机器人框架一起使用时,aspnetcore 中的 CloudStorageAccount 不明确

    我刚刚升级了基于 SDK v4 并使用 aspnet core 构建的机器人框架项目 现在我最终遇到了 CloudStorageAccount 类的冲突 它说 类型 CloudStorageAccount 同时存在于 Microsoft A
  • 什么是routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

    What is routes IgnoreRoute resource axd pathInfo 我在项目中找不到任何 axd 文件 我可以删除此路由规则吗 axd 文件实际上并不存在 ASP NET 在内部使用带有 axd 扩展名的 UR
  • rust dyn 特征变量具有不同的泛型类型?

    我对 Rust 还很陌生 尝试使用diesel rs 创建数据库连接 这是我的代码的一部分 use diesel Connecction use diesel mysql MysqlConnection use diesel sqlite
  • 为什么以下使用方法引用的转换不会产生编译错误? [复制]

    这个问题在这里已经有答案了 public class SomeClass public static int someFunction int a return a public static void main String args C
  • 在 Windows 上使用 Xamarin Studio 构建 iOS 应用程序

    是否可以使用在 Windows 上运行的 Xamarin Studio 构建 iOS 应用程序 并将其连接到在 mac 上运行的 Xamarin ios 构建主机 The 我见过的例子 http docs xamarin com guide
  • C++ 中的正态(高斯)分布函数

    我需要知道一种方法来获得 50 个数字的高斯分布 我知道 Boost 库 它可以生成随机数 就我而言 我不需要随机数 我需要 50 个数字的正态分布 我如何在 C 中做到这一点 从 C 11 开始 标准库中提供了正态 高斯 分布 http
  • 如何将通用委托参数传递给 .NET 2.0 中的方法

    我有一个带有委托声明的类 如下 Public Class MyClass Public Delegate Function Getter Of TResult As TResult the following code works Publ
  • 服务器到服务器 > 检索远程 zip 文件并将其解压到本地服务器目录

    我在服务器 B 上有一个 wp 插件文件 其目的是从远程服务器 A 检索 zip 文件 服务器 B 收到 zip 文件后 应提取内容并将文件复制到服务器 B 上的特定文件夹中 覆盖任何现有文件 我从下面的文件中借用了一些代码 该文件使用上传
  • 使用 Android NDK 编译原生 C++ 共享对象

    我已经生成了一个 so在 Linus 上通过 C 文件并得到 so现在生成文件我已经交叉编译了这个 so归档Android ARM所以我必须通过编译它Android NDK这样新生成的 so可以在我的android项目中使用 那么任何人都可
  • TRY_PARSE 与 TRY_CONVERT

    我目前正在学习我的 MCSA 数据平台 我错误地回答了以下问题 我正在寻找解释为什么我的答案是错误的 因为测试中的解释没有多大意义 您有一个名为 AuditTrail 的表 用于跟踪对其他表中数据的修改 AuditTrail 表由许多进程更
  • 我可以在java中使用方法链接的抽象构建器类而不执行不安全操作吗?

    我试图为某些构建器类提供一个抽象基类 以便我可以轻松地在构建器实现之间重用代码 我希望我的构建器支持方法链接 因此方法必须返回最具体类型的 this 实例 我想我可以用泛型来做到这一点 不幸的是 我无法在不使用不安全操作的情况下做到这一点
  • 生成器不是迭代器吗?

    我有一个生成器 一个产生东西的函数 但是当试图将它传递给gensim Word2Vec我收到以下错误 类型错误 您不能将生成器作为句子参数传递 尝试迭代器 生成器不是迭代器的一种吗 如果没有 我如何从中创建一个迭代器 查看库代码 它似乎只是