这篇教程python3中dict.keys().sort()用不了的解决方法写得很实用,希望能帮到您。 原因是dict.keys()的返回结果不再是一个list了 
Python3的keys(), values(), items()返回的都是迭代器,如果需要像Python2一样返回列表,只要传给list就行了: keys = list(mydict.keys()) 如果想要同时获得keys和values,永远应当使用items items = list(mydict.items()) 可以再将得到的元组序列拆成keys和values: keys = [k for k,v in items]values = [v for k,v in items] 或者用zip: keys, values = tuple(zip(*items)) Python 3的zip同样返回迭代器,所以也需要在前面加上tuple或者list 需要注意:sort()方法仅定义在list中,而sorted()方法对所有的可迭代序列都有效 并且针对任何的可迭代序列,sorted()都是返回一个list, 1.sorted函数按key值对字典排序 Python常见内置高阶函数即高阶函数用法 Python闭包技巧介绍
|