【发布时间】:2016-10-18 14:42:24
【问题描述】:
我有一本这样的字典:
{'11': 6, '10': 3, '15': 2, '14': 1, '04': 3, '16': 4, '19': 1, '18': 1、“09”:2、“17”:2、“06”:1、“07”:1}
我想根据键对字典进行排序并生成如下内容:
('04', 3), ('06', 1), ('07', 1), ('09', 2), ('10', 3), ('11', 6) , ('14', 1), ('15', 2), ('16', 4), ('17', 2), ('18', 1), ('19', 1)
我尝试了 hours = list(dict.items()) 并且效果很好,但是当我之前尝试过时
for hour, freq in dict:
count = (hour, freq)
lst.append(count)
lst.sort()
print lst
我明白了
('0', '4'), ('0', '6'), ('0', '7'), ('0', '9'), ('1', '0' '), ('1', '1'), ('1', '4'), ('1', '5'), ('1', '6'), ('1', '7'), ('1', '8'), ('1', '9')
似乎只记录了小时数的第一位,但我不知道为什么。当我计算给定字符串中字符的频率时,for 循环运行良好。有人可以帮我解释一下吗?非常感谢。
【问题讨论】:
-
你不应该影响 dict 函数!!!
标签: python list python-2.7 dictionary