當前位置:成語大全網 - 新華字典 - 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)]