我正在尝试处理一个看起来像这样的文件:
使用字典,以便输出的结果看起来像这样。
这是我尝试过的内容。
我一直遇到一个TypeError: unhashable type: 'list'的错误。我知道字典的键不能是列表,但我想把值变成列表,而不是键。我想知道我是否在某个地方犯了错误。
AAA x 111
AAB x 111
AAA x 112
AAC x 123
...
使用字典,以便输出的结果看起来像这样。
{AAA: ['111', '112'], AAB: ['111'], AAC: [123], ...}
这是我尝试过的内容。
file = open("filename.txt", "r")
readline = file.readline().rstrip()
while readline!= "":
list = []
list = readline.split(" ")
j = list.index("x")
k = list[0:j]
v = list[j + 1:]
d = {}
if k not in d == False:
d[k] = []
d[k].append(v)
readline = file.readline().rstrip()
我一直遇到一个TypeError: unhashable type: 'list'的错误。我知道字典的键不能是列表,但我想把值变成列表,而不是键。我想知道我是否在某个地方犯了错误。
0
或者一千万亿
的列表时,无法进行哈希。这是类型而不是大小的问题。列表没有__hash__
方法。解决方法是创建一个继承自list
并具有__hash__()
方法的custom_list
类型,然后将您的列表转换为使用custom_list
数据类型。但最好还是使用内置类型。 - All Іѕ Vаиітy