Python字典如何按键(1,2,3,4…)输出,而不是(1,10,11…)?

 我来答
双庚的奶酪
2016-04-01 · TA获得超过1566个赞
知道小有建树答主
回答量:700
采纳率:92%
帮助的人:292万
展开全部

你是希望按照输入顺序输出还是按照key或者value的排序输出呢?


如果按照输入顺序输可以这样(方法一):

# 通过zip方法合并两个List为Dictionary
# 遍历会按原先的顺序
keys = ["b", "a", "c", "e", "d"]
values = ["2", "1", "3", "5", "4"]
 
for key,value in zip(keys, values):
    print(key,value)
 
# -- OUTPUT --
# b 2
# a 1
# c 3
# e 5
# d 4


如果按照输入顺序输出还可以这样(方法二):

import collections      
d=collections.OrderedDict()  
d['a']='A'  
d['b']='B'  
d['c']='C'  
for k,v in d.items():  
    print k,v 
# --  OUTPUT --
#a A  
#b B  
#c C


如果按照key排序输出要这样:

x = {1:2, 3:4, 4:3, 2:1, 0:0}  
#升序
sorted_x = sorted(x.iteritems(), key=lambda x : x[0])  
print sorted_x  
# --  OUTPUT --
#[(0, 0), (1, 2), (2, 1), (3, 4), (4, 3)]  
#降序
sorted_x = sorted(x.iteritems(), key=lambda x : x[0], reverse=True)  
print sorted_x  
# --  OUTPUT --
#[(4, 3), (3, 4), (2, 1), (1, 2), (0, 0)]


如果按照value排序输出要这样:

x = {1:2, 3:4, 4:3, 2:1, 0:0}  
#升序
sorted_x = sorted(x.iteritems(), key=lambda x : x[1])  
print sorted_x  
# --  OUTPUT --
#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]  
#降序
sorted_x = sorted(x.iteritems(), key=lambda x : x[1], reverse=True)  
print sorted_x  
# --  OUTPUT --
#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]
孟羽然
2016-04-01 · TA获得超过2976个赞
知道小有建树答主
回答量:1308
采纳率:70%
帮助的人:565万
展开全部
使用OrderedDict容器,而不是dict
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式