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 の間の構文の違いをずっと探していましたが、何も思いつきませんでした。ヘルプや修正をいただければ幸いです。