我的字典看起来像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"
要打印按键值排序的元素,但它不起作用。我得到了
('10', 1.0)
('3', 1.6666666666666667)
('6', 1.0)
('7', 1.0)
这不是我想要的。我也尝试了其他一些东西,但那些不起作用......任何想法?
答案 0 :(得分:5)
这是按键将值作为字符串排序(即按字母顺序 - “1”在“3”之前出现在“6”之前...)而不是它们的整数值。如果要按键的数值对键进行排序,可以执行
iter(sorted(nums.items(), key=lambda x: int(x[0])))