def sort_dictionary(wordDict):
sortedList = []
for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k)):
sortedList.append(entry)
return sortedList
Chức năng sẽ nhận từ điển chứa thông tin như: {'this': 1, 'is': 1, 'a': 1, 'large': 2, ' câu ': 1} Tôi muốn tạo danh sách các danh sách, với các yếu tố được đặt hàng trước tiên bằng các giá trị của từ điển từ Lớn nhất đến Nhỏ nhất, sau đó theo các phím theo thứ tự abc.Python 3.2 Lỗi cú pháp Lambda
Chức năng hoạt động tốt khi chạy với python 2.7.2, nhưng tôi nhận được lỗi:
File "frequency.py", line 87
for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k)):
^
SyntaxError: invalid syntax
khi tôi chạy chương trình với python 3.2.3. Tôi đã tìm kiếm tất cả vì một lý do tại sao, hoặc sự khác biệt cú pháp giữa 2,7 và 3,2, và đã đưa ra không có gì. Bất kỳ trợ giúp hoặc bản sửa lỗi nào sẽ được đánh giá cao.
Nó đáng chú ý rằng việc đưa khoảng trống giữa các '=' và một cuộc tranh cãi là chống lại [PEP-8] (http://www.python.org/dev/ peps/pep-0008/# khác-khuyến nghị) 's khuyến nghị. –