我正在使用文本文件中的数据行制作字典。前三列数据成为键,第四列中的数据形成字典的值。代码如下:
def formatter(lines):
for line in lines:
if not line.strip(): continue
yield [to_float(item) for item in line.split()]
dct1 = {}
with open('test.txt') as f1:
for row in formatter(f1):
dct1[tuple(row[:3])] = row[3]
此代码有效。问题在于文件中的密钥重复,数据正在从中提取,例如文件可能有两行:
1 2 3 50
1 2 3 100
然而,最终的字典 dct1 将仅包含以下行中的第二行:dct1[(1,2,3)]=[100]。我正在尝试做但目前不能做的是,每次程序尝试覆盖一个键时,取而代之的是平均给定键的值,即如果读入上述两行,则为键 (1,2,3) 为 75(50 和 100 的平均值)。
任何帮助将非常感激。非常感谢