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)
这不是我想要的.我也尝试了其他一些东西,但那些不起作用..任何想法?
这是按键将值作为字符串排序(即按字母顺序 - "1"在"3"之前出现在"6"之前......)而不是它们的整数值.如果要按键的数值对键进行排序,可以这样做
iter(sorted(nums.items(), key=lambda x: int(x[0])))
Run Code Online (Sandbox Code Playgroud)