读取从文本文件到字典python的所有行

Giv*_*Pie 1 python dictionary file

这里我有一个函数,当我读到时,只返回最后一行.我究竟做错了什么?

def read():
    with open("text.txt","r") as text:
        return dict(line.strip().split() for line in text)
Run Code Online (Sandbox Code Playgroud)

文本文件非常简单,有两列

asd 209
asd 441
asd 811
asd 160
asd 158
Run Code Online (Sandbox Code Playgroud)

我想把所有的时间都读成字典,asd部分作为键,数字作为值.

Mar*_*ers 6

字典键必须是唯一的.您在该文件中只有一个唯一键.

您实质上是为同一个键分配不同的值,并且只有最后一个值可见,因为之前的值被覆盖:

>>> d = {}
>>> d['asd'] = 209
>>> d['asd'] = 441
>>> d
{'asd': 441}
Run Code Online (Sandbox Code Playgroud)

要存储的最大价值,使用方法:

def read():
    res = {}
    with open("text.txt","r") as text:
        for line in text:
            key, value = line.split()
            if int(value) > res.get(key, -1):
                res[key] = int(value)
    return res
Run Code Online (Sandbox Code Playgroud)