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, и ничего не придумал. Любая помощь или исправления были бы оценены.