错误:unhashable type ='list'

时间:2017-07-21 15:19:32

标签: python collections counter

我正在尝试从文件中收集错误,我需要计算它们 这是我需要的输出:[error1:6,error2:3,error3:2]

import os,sys
import collections
Data = []
errors = []
with open('out.txt') as f:
        for line in f:
            Data.append([word for word in line.strip().split("\t")])
for item in Data:
    try:
        date,error = item[0],item[5]
        errors.append(error.split('\n'))
    except IndexError:
        print "A line in the file doesn't have enough entries."

counter = collections.Counter(errors)
print counter

1 个答案:

答案 0 :(得分:1)

你写道:

errors.append(error.split('\n'))

现在error.split('\n') will **return a list**. As a result,错误不是字符串列表,而是字符串列表的列表。您可能希望将其替换为:

errors += error.split('\n')

现在errors将是一个字符串列表,字符串是可散列的项目。