gpt4 book ai didi

python - 无法创建字典

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:00 26 4
gpt4 key购买 nike

我正在尝试编写一个用于日志解析的脚本。我收到一个文件,其中日志杂乱无章。特定日志的每个第一行都会有时间戳,因此我想使用它对它们进行排序。

例如

10:48 开始。。10:50开始。。10点42分开始第一行将包含关键字“Start”和时间戳。 “开始”和下一个“开始”之前的行是一组。我想根据时间戳对日志文件中的所有这些集合进行排序。

代码逻辑:我想到创建字典,我将选择这个时间并将其指定为“键”以及该日志集的值中的文本。然后我将对字典中的“键”进行排序,并按排序顺序在文件中打印它们的“值”。但是我收到错误“TypeError: unhashable type: 'list'”

write1 = False
x = 0
search3 = "start"
matched = dict()
matched = {}

# fo is a list which is defined elsewhre in the code.

for line in fo:

if search3 in line:

#got the Hello2 printed which indicates script enters this loop

print('hello2')
write1 = True
x +=1
time = line.split()[3]
name1 = [time.split(':')[0] +":"+time.split(':')[1] + ":"+ time.split(':')[2]]
matched[name1] = line

elif write1:
matched[name1] += line

print(matched.keys())

请告诉我我的逻辑和我的做法是否正确?

最佳答案

您将 name1 设置为列表。列表不可散列,只有元组可以。但是,我假设您希望 name1 是一个字符串,因此您只需删除括号:

name1 = time.split(':')[0] +":"+time.split(':')[1] + ":"+     time.split(':')[2] 

关于python - 无法创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32815811/

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