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

“ map”类型的对象在Python 3中没有len()

金兴朝
2023-03-14
问题内容

我对Python 3有问题。我有Python 2.7代码,此刻我正在尝试对其进行更新。我得到错误:

TypeError:“地图”类型的对象没有len()

在这一部分:

str(len(seed_candidates))

在这样初始化之前:

seed_candidates = map(modify_word, wordlist)

那么,有人可以解释我该怎么做吗?

(编辑:以前,此代码示例是错误的,因为它使用set代替map。现在已更新。)


问题答案:

在Python 3中,map返回的地图对象不是list

>>> L = map(str, range(10))
>>> print(L)
<map object at 0x101bda358>
>>> print(len(L))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: object of type 'map' has no len()

您可以将其转换为列表,然后从那里获取长度:

>>> print(len(list(L)))
10


 类似资料:
  • 问题内容: 我有其他人编写的此Python工具来刷新某个微控制器,但他为Python 2.6编写了该工具,而我使用的是Python 3.3。 因此,我移植了其中的大部分内容,但此行出现了问题: 该函数在Python 3中不存在,必须替换为。但是然后,作为参数获取的函数将导致异常: 但是到目前为止,我在文档中看到的是,必须将可迭代类型与一个大可迭代类型连接在一起,我是否缺少某些东西? 我要怎么做才能

  • 问题内容: 我在python 3.3.4中遇到“解码”方法的问题。这是我的代码: 但是我无法解码此问题的代码: 你有什么想法?谢谢 问题答案: 一种 编码 字符串,另一种 解码 字节。 您应该从文件中读取字节并对其进行解码: 幸运的是,有一个编码参数使操作变得简单:

  • 问题内容: 问题:当我尝试执行脚本时,给出错误消息“ TypeError:类型为’Response’的对象没有len()。我尝试将实际的html作为参数传递,但仍然无法正常工作。 问题答案: 你越来越。但是它以字节(docs)的形式返回响应主体。但是您应该将其传递给BeautifulSoup构造函数(docs)。因此,您需要使用而不是获取内容。

  • 下面是一节课: 这是我计划的一部分: 但是我在“cr12=cr.weave(cr2)”中得到了一个错误: 对于范围内的i(最小(长度,长度(其他)): TypeError:类型为“CoordinaterRow”的对象没有len()

  • 我得到这个错误: TypeError:类型为“Cursor”的对象没有len() 当我试图执行:

  • 如何修复此错误:typeerror:类型为“generator”的对象没有len()