Python排序函数不做任何事情

Cem*_*mre 3 python sorting dictionary

我有一本看起来像的字典 a = {'10': 2.0, '3': 2.0, '7': 1.0, '6': 1.0}

我用:

it = iter(sorted(nums.items()))

try:
    while(True):
        print it.next()

except StopIteration:
    print "\n\n"
Run Code Online (Sandbox Code Playgroud)

要打印按键值排序的元素,但它不起作用.我明白了

('10', 1.0)
('3', 1.6666666666666667)
('6', 1.0)
('7', 1.0)
Run Code Online (Sandbox Code Playgroud)

这不是我想要的.我也尝试了其他一些东西,但那些不起作用..任何想法?

Dav*_*son 5

这是按键将值作为字符串排序(即按字母顺序 - "1"在"3"之前出现在"6"之前......)而不是它们的整数值.如果要按键的数值对键进行排序,可以这样做

iter(sorted(nums.items(), key=lambda x: int(x[0])))
Run Code Online (Sandbox Code Playgroud)