在Python中如何按键对字典排序

2024-06-23 19:10:29 发布

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

我需要在字典下面排序,并打印排序字典中的前五项:

station_dict_platOne = {'6': 'Daly City', '12': 'Daly City', '19': 'Daly City', 'Leaving': 'Millbrae', '16': 'SF Airport', '28': 'Millbrae', '10': 'SF Airport', '22': 'SF Airport'}

我正在使用以下代码:

j=0
for i in sorted(station_dict_platOne):
        if j<5:
        print(i+" "+"min", station_dict_platOne[i])
        j = j+1

但是,我得到低于输出,这不是正确的输出

10 min SF Airport
12 min Daly City
16 min SF Airport
19 min Daly City
22 min SF Airport

Tags: 代码incityfor字典排序sfmin
2条回答

如果删除“离开”键,则可以执行以下操作:

s = {6: 'Daly City', 12: 'Daly City', 19: 'Daly City',
     16: 'SF Airport', 28: 'Millbrae', 10: 'SF Airport', 22: 'SF Airport'}

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

哪些产出:

6 Daly City
10 SF Airport
12 Daly City
16 SF Airport
19 Daly City
22 SF Airport
28 Millbrae

我不知道这是不是你想要的

您的错误可能不在代码中,而是在键入: 键是字符串(文本)而不是整数(数字),所以'10' < '6' == True

要么对键使用数字(只使用6: 'Daly City',不带引号),要么在排序时解析它们(在for循环中调用sorted(station_dict_platOne, key=lambda t: int(t))

注意:使用“离开”键,两种方式都将失败。你必须过滤它,或者使用一些特殊情况

相关问题 更多 >

    热门问题