成语大全网 - 汉语词典 - Python字典如何按键(1,2,3,4…)输出,而不是(1,10,11…)?

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

你是希望按照输入顺序输出还是按照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)]