Python3.2 Lambda语法E

2024-03-28 17:08:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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,“句子”:1} 我想让它生成一个列表列表,先排序元素 按字典的值从大到小,然后按键的字母顺序排列。

使用Python2.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之间的语法差异,但什么也没有找到。如有任何帮助或修正,将不胜感激。


Tags: lambdakey函数in列表fordictionary字典