按字母顺序排列的字典键

2024-04-18 09:57:31 发布

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

在上一个问题中,我发现了如何在post Reading data separated by colon per line in Python的字典中拖拽同事的一些分数。 现在,如果我想排列字典,使键按名称顺序排列,那么AdamDave和{}的分数将按该顺序出现。在

我使用了以下方法:

sorted(self.docs_info.items)

但那没有回报。我还希望它以格式返回到空闲状态

^{pr2}$

我试图使用pprint方法,但也没用。 我该怎么解决这个问题?在

我之前的代码(完成)如下所示:

from collections import defaultdict
d = defaultdict(list)
with open('guesses.txt') as f:
    for line in f:
        name,val = line.split(":")
        d[name].append(int(val))

感谢帕德雷克·坎宁安和安蒂·哈帕拉!在


Tags: 方法nameindataby字典lineval
2条回答
>>> for name, values in sorted(d.items(), key=lambda x: x[0]):
...     print("%s %s" % (name, " ".join(map(str, values))))
...
Adam 12 34
Dave 25 23
Jack 13

只需对键进行排序并使用该键访问值:

for k in sorted(d):
    print(k,d[k])

Adam [12, 34]
Dave [23, 25]
Jack [13]

要获取字符串,请使用str.join

^{pr2}$

在dict上调用sorted与在dict.keys()上调用sorted是一样的,所以我们只需要使用列表中的each now sorted键来按所需的顺序进行访问。在

相关问题 更多 >