gpt4 book ai didi

python - 无法迭代类中的列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:03 25 4
gpt4 key购买 nike

我目前正在做一道“拼写检查”题。

我已经创建了一个包含字典的列表。

现在我要查看 word 是否在列表中。

我刚开始使用 Python 类,所以我可能遗漏了一些小东西。

最近的错误是 "TypeError: 'list' object cannot be interpreted as an integer"

这是一段代码。

class SpellChecker():

def __init__(self, file_name):
self.__infile = open(file_name,'r')
self.word_list = []
self.temp = self.__infile.readline().strip("\n")
while self.temp != "":
self.word_list.append(self.temp)
self.temp = self.__infile.readline().strip("\n")
self.__infile.close()

def spellcheck_word(self, word):
self.word = word.strip(string.punctuation).lower()
self.list = self.word_list
for i in range(self.list):
if self.word == self.list[i]:
return True
else:
return False
def main():
test = SpellChecker("dictionary.txt")
print(test.spellcheck_word("apple"))

最佳答案

这是迭代列表的方式:

for wrd in self.list:

这是一种更简单的方法来完成我认为您正在尝试做的事情。请注意,它不需要显式循环:

def spellcheck_word(self, word):
self.word = word.strip(string.punctuation).lower()
return self.word in self.word_list

range 是一个内置函数,它在 python 2 中创建一个列表,在 python 3 中创建一个可迭代对象。如有疑问,请使用内置的help :

>>> help(range)

Python 2 range

Python 3 range

关于python - 无法迭代类中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23558488/

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