我陷入困境,不明白为什么我的代码不起作用。有人可以帮助我吗?我收到一个 ValueError 消息,提示 'Malin' 不在列表中
。
for line in text_file:
clean_line = line.translate(None, ',.:;"-_')
list_of_a_line = clean_line.split()
#print list_of_a_line
#How do do I remove both quotation marks?
for word in list_of_a_line:
word = word.lower()
for one_focus_word in focus_words:
if word.lower() == one_focus_word.lower():
sentiment_point = 0
print word
index_number = list_of_a_line.index(word)
print index_number
当我阻止显示 print list_of_a_line.index(word)
的行时,代码可以正常工作。所以我可以打印 word
并且可以打印 list_of_a_line
(请参阅下面打印的列表)[“internet”、“IPS”、“IPSs”、“cobb”、“comcast”、“centrylink”、“paris”、“malin”、“trump”]
请随意对我的代码提出任何其他评论。
你会:
for word in list_of_a_line:
word = word.lower()
在此循环中稍后:
index_number = list_of_a_line.index(word)
这意味着您在列表中查找单词的小写版本,而不是它包含的原始版本。这会引发值错误。
您可以使用enumerate
来获取单词的索引,而无需使用.index()
:
for index_number, word in enumerate(list_of_a_line):
for one_focus_word in focus_words:
if word.lower() == one_focus_word.lower():
sentiment_point = 0
print word
print index_number
我是一名优秀的程序员,十分优秀!