Hashable type:if语句中的列表错误

问题描述 投票:-1回答:1

我正在尝试计算文件中的单词数量,然后将它们放入字典中以计算单词重复的频率。在检查该单词是否已存在于字典中的if语句中,我收到了无法散列的类型错误。 this is my code and what the error it returns

python-3.x
1个回答
0
投票

让我们看一下变量的类型

[line是一个字符串,用空格分隔

[temp是字符串列表

[words现在是[[string1,string2,...],[],...]] >>

现在i也是一个字符串列表(temp

您正在尝试执行if i in WordCount

由于WordCount是字典/集合,它会尝试调用hash(i)并检查哈希是否在WordCount中(这就是字典的工作方式]

并且由于iunhashable

的列表,它返回错误!

希望有帮助:)

~~~~~~~~~~~~~~~~~~~~~~~]

我认为您希望words包含各个单词?如果是这样,请将words.append(temp)替换为words += temp,因为您可以向列表中添加列表

© www.soinside.com 2019 - 2024. All rights reserved.