当前位置: 首页 > 面试题库 >

TypeError:“ zip”对象不可下标

乌灿
2023-03-14
问题内容

我有一个标记文件/标记格式的标记文件,并且尝试了一个函数,该函数返回带有(单词,标签)列表中单词的元组。

def text_from_tagged_ngram(ngram): 
    if type(ngram) == tuple:
        return ngram[0]
    return " ".join(zip(*ngram)[0]) # zip(*ngram)[0] returns a tuple with words from a (word,tag) list

在python 2.7中效果很好,但是在python 3.4中,它给了我以下错误:

return " ".join(list[zip(*ngram)[0]])
TypeError: 'zip' object is not subscriptable

有人可以帮忙吗?


问题答案:

在Python
2中,zip返回一个列表。在Python
3中,zip返回一个可迭代的对象。但是您只需调用即可将其放入列表list,如:

list(zip(...))

在这种情况下,将是:

list(zip(*ngram))

通过列表,您可以使用索引:

items = list(zip(*ngram))
...
items[0]

等等

但是,如果只需要第一个元素,那么就不必严格要求列表了。您可以使用next

在这种情况下,将是:

next(zip(*ngram))


 类似资料:
  • 问题内容: 基本上,我有一个输入,用户会将数字值(浮动输入)放入其中,然后将所有这些上述列表索引设置为该值。出于某种原因,我无法在没有设置的情况下设置它们: 错误。我是在做错事还是只是以错误的方式看待它? 问题答案: 是一个花车。正在尝试访问浮点数的第一个元素。相反,做 要么

  • 问题内容: 错误 :Tkinter回调跟踪中的异常(最近一次调用最近):文件“ /tools/python/2.7.2/lib/python2.7/lib- tk/Tkinter.py”,行1410,在 调用 返回self.func( * args)填充listb.pop [0]中的文件“ ./edit.py”,第581行,TypeError:’builtin_function_or_method

  • 问题内容: 我正在制作一个用于数学的小程序(没有特殊原因,只是出于某种原因),并且遇到错误“ TypeError:’NoneType’对象无法下标。 我从未见过此错误,所以我不知道这意味着什么。 错误: 问题答案: 这应该是 该方法就位,并返回None。如果您希望某些东西不就地返回值,则可以使用 除了#1:请勿致电您的清单。那掩盖了内置列表类型。 除了#2:我不确定这行是做什么的: 简单吗 ?换句

  • 问题内容: 我正在按照课堂作业的说明进行操作,并且应该在文本文件中查找前200个最常用的单词。 这是代码的最后一部分: 但是,当我在vocab 200行之后按Enter键时,它将返回: 关于如何解决此问题的任何建议,以便它可以正确返回答案? 问题答案: 看起来您正在使用Python3。在Python 3中,返回一个可迭代但不可索引的对象。最简单(但效率不高)的解决方案是:

  • 我可以从一个简单的脚本成功加载TextBlob模块,但不能从Flask应用程序加载。我将向您展示代码和错误。 加载一个简单的脚本工作: 从烧瓶应用程序加载时抛出错误: 错误: 我使用的是textblob版本0.11。0与pip一起安装。

  • 问题内容: 我尝试在视图中使用,但收到错误`TypeError:’bool’对象不可调用。为什么会出现此错误,我该如何解决? 问题答案: 当您尝试表现对象的方法或功能时,会发生“对象不可调用”错误。 在这种情况下: 您将current_user.is_authenticated表现为一种方法,而不是一种方法。 您必须以这种方式使用它: 您在方法或函数(而不是对象)之后使用“()”。 在某些情况下,