在字典中查找最高值

2024-03-28 15:12:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本这样的字典:

class1 = {
          max: 10, 3, 5
          Michael: 4. 4, 8
          jack: 0, 0, 3
          }

这是相关代码

class1 = {}
        with open("1.txt", "r+") as f:
            for line in f:
                columns = line.split(":")
                if len(columns) == 2:
                    names = columns[0]
                    scores = columns[1].strip()
                else:
                    pass
                if class1.get(names):
                    class1[names].append(scores)
                else:
                    class1[names] = list(scores)

数字代表分数,我想打印出每个名字的最高分数,这是我想要的输出:

max: 10
Micheal: 8
jack: 3

我已经试过了:

max_value = max(class1.values())
print(sorted(max_value))

但这对我的产出没有影响。你知道吗

提前谢谢


Tags: columns代码if字典namesvaluewithline
2条回答
for name, l in class1:
    print("%s : %d" % (name, max(l)))
class1 = {}
with open("1.txt", "r+") as f:
    for line in f:
        columns = line.split(":")
        if len(columns) == 2:
            name = columns[0].strip()
            scores = map(int, columns[1].split(','))
            class1[name] = scores

for name, scores in class1.items():
    print('{}: {}'.format(name, max(scores)))

相关问题 更多 >