def sort_dictionary(wordDict):
sortedList = []
for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k)):
sortedList.append(entry)
return sortedList
funkcja będzie otrzymywać słownika zawierającego informacje takie jak: { „ta” 1 „jest”: 1, a „a” 1 „duże” 2 " zdanie ": 1} Chciałbym, aby wygenerował listę list, z elementami uporządkowanymi najpierw według wartości słownika od największej do najmniejszej, a następnie alfabetycznie.Pythona 3,2 N Błąd składni
Funkcja działa bez zarzutu, gdy uruchamiane z Pythona 2.7.2, ale otrzymuję błąd:
File "frequency.py", line 87
for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k)):
^
SyntaxError: invalid syntax
kiedy uruchomić program z python 3.2.3. Szukałem od zawsze z powodu, lub różnice w składni między 2.7 i 3.2, i wymyślić nic. Każda pomoc lub poprawki będą bardzo mile widziane.
Warto zauważyć, że wprowadzenie spacji pomiędzy '=' a argument jest przeciwko [PEP-8] (http://www.python.org/dev/ zalecenia peps/pep-0008/# other-recommendations). –