【发布时间】:2013-03-20 16:24:39
【问题描述】:
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 的建议的。
标签: python lambda syntax-error