我正在尝试运行以下代码,但始终会收到该错误,Python错误“ NoneType”对象无法解释为整数,有帮助吗?
sent_maxlen= None
def get_fixed_size(sents):
"""
Partition sents into lists of sent_maxlen elements
(execept the last in each sentence, which might be shorter)
"""
return [sent[s_ind : s_ind + sent_maxlen]
for sent in sents
for s_ind in range(0, len(sent), sent_maxlen)]
答案 0 :(得分:2)
我认为您的代码中有一些错别字。同时有sent_maxlex
和sent_maxlen
。
在您发布的代码中,sent_maxlen
(假设上述拼写错误是无意的)被初始化为None
。该变量用作range()
函数中的第三个参数,它是迭代器的“步长”或“步幅”,即每次迭代将迭代器增加多少(因此有意义)不能为非数字,并且如果我们希望循环结束,则应大于零。
从函数描述看来,该函数旨在将单词列表转换为单词列表,每个子列表都具有sent_maxlen
元素(除了最后一个子列表)。作为代码的用户,您可以正确地将sent_maxlen
初始化为所需的长度吗?
这些子列表是?