def sort_dictionary( wordDict ):
sortedList = []
for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k) ):
sortedList.append( entry )
return sortedList
该函数将接收一个包含以下信息的字典:
{ 'this': 1, 'is': 1, 'a': 1, 'large': 2, 'sentence': 1 }
我希望它生成一个列表的列表,其中元素首先按字典的值从大到小排序,然后按键字母顺序排序。
当使用python 2.7.2运行函数时,它可以正常工作,但我收到以下错误:
File "frequency.py", line 87
for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k)):
^
SyntaxError: invalid syntax
当我使用Python 3.2.3运行程序时。
我一直在寻找原因或语法差异,包括2.7和3.2之间的差别,并且没有找到任何答案。非常感谢任何帮助或修复建议。
=
和参数之间加空格违反了PEP-8的建议。 - Gareth Latty