我使用以下方法创建了一个列表字典:
names = defaultdict(list)
我正在从文本文件中读取一行,将其分成 3 列。我将该行的第一列作为键,将其他两列作为列表中的值。我使用以下代码段如下:
with open('f.txt') as f:
lines = [l.split() for l in f.readlines() if l.strip()]
for l in lines:
names[l[0]].append([l[1],l[2]])
我有这样的文本文件:
00:12:34:23:45:67 134 123.456
45:34:23:45:44:23 133 345.123
3f:32:dr:45:34:r5 133 212.345
00:12:34:23:45:67 134 555.555
00:12:34:23:45:67 136 555.556
00:12:34:23:45:67 134 555.560
如果我运行我的程序来输出键:值对,输出是:
00:12:34:23:45:67 [['134', '123.456'], ['134', '555.555'], ['136', '555.556'], ['134', '555.560']]
45:34:23:45:44:23 [['133', '345.123']]
3f:32:dr:45:34:r5 [['133', '212.345']]
如何访问列表的各个元素?例如,在此输出中,我想计算每个键的 133、134、135、136 的数量以及每种类型之间的时间差。例如,对于 key 00:12:34:23:45:67
,有 3 134 和 1 136。该键的 134 的最高值和最低值之间的时间差是 555.560-123.456。我想要所有 133,134,135,136 种类型的这个结果。很多天以来,我都在为这个问题而苦苦挣扎。请帮忙。非常感激。