Python字典如何按键(1,2,3,4…)输出,而不是(1,10,11…)?
2个回答
展开全部
你是希望按照输入顺序输出还是按照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)]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询