Tôi có một dict trong đó mỗi khóa tham chiếu giá trị int. Cách tốt nhất để sắp xếp các khóa vào danh sách tùy thuộc vào giá trị là gì?Sắp xếp các khóa từ điển trong python
Trả lời
>>> mydict = {'a':1,'b':3,'c':2}
>>> sorted(mydict, key=lambda key: mydict[key])
['a', 'c', 'b']
my_list = sorted(dict.items(), key=lambda x: x[1])
@ user815423426 bạn chỉnh sửa bài viết của tôi 's/list/my_list /' bởi vì "danh sách là một từ khóa trong python". Chỉnh sửa của bạn là tốt, nhưng danh sách không phải là một từ khóa (c.f. https://docs.python.org/3/reference/lexical_analysis.html#keywords), do đó, đoạn chương trình của tôi sẽ (bytecode-) biên dịch và chạy. Tuy nhiên nó là một tên trong không gian tên '__builtins__', và thực hành không tốt để che giấu tên đó - với một biến miền địa phương có tên là danh sách — và khủng khiếp để ghi đè nó - với một biến toàn cục có tên là danh sách, ví dụ: 'list = tuple'. –
[v[0] for v in sorted(foo.items(), key=lambda(k,v): (v,k))]
Tôi thích cái này:
sorted(d, key=d.get)
Đẹp, nghĩ rằng nó sẽ là tốt đẹp để có một giải pháp thanh lịch cung cấp cho (key, giá trị) cặp được sắp xếp theo khóa. ... và không yêu cầu cung cấp tên biến dict nhiều lần (tôi có xu hướng có tên biến mô tả rất dài). d.iteritems() vẫn có vẻ hữu ích nhất. – travc
Thứ hai, giải pháp k, v được sắp xếp trang nhã – crock1255
- 1. Python: sắp xếp các mục trong từ điển bằng một phần của khóa?
- 2. Sắp xếp theo từ điển?
- 3. Sắp xếp NSArray của từ điển theo giá trị của một khóa trong từ điển
- 4. Python: sắp xếp một từ điển của danh sách
- 5. python, chuyển từ điển sang danh sách được sắp xếp theo giá trị thay vì khóa
- 6. Sắp xếp danh sách các từ điển trong khi hợp nhất các bản sao trong Python?
- 7. Có thể in ra từ điển python() được sắp xếp theo khóa
- 8. Sắp xếp từ điển dựa trên các phím
- 9. Sắp xếp từ điển Python dựa trên giá trị từ điển lồng nhau
- 10. Python sắp xếp danh sách các từ điển bằng nhiều phím
- 11. Từ điển được sắp xếp đảo ngược?
- 12. Cách sắp xếp một mảng chứa từ điển?
- 13. Xây dựng từ điển được sắp xếp bằng ToDictionary
- 14. Sắp xếp một từ điển (có các phím ngày tháng) bằng Python
- 15. Cách tốt nhất để sắp xếp một từ điển thành các nhóm sử dụng Python
- 16. Sắp xếp một từ điển các bộ dữ liệu bằng Python
- 17. thay thế các khóa từ điển (chuỗi) trong Python
- 18. chèn hoặc cập nhật các khóa trong từ điển python
- 19. đối tượng là các khóa trong từ điển python
- 20. Python: sắp xếp một loạt các từ điển với bộ so sánh tùy chỉnh?
- 21. Sắp xếp từ điển bằng cách sử dụng toán tử.itemgetter
- 22. Sắp xếp từ điển theo giá trị, sau đó nhập
- 23. Đếm số từ khóa trong một từ điển trong python
- 24. Từ điển python phù hợp với các giá trị khóa trong hai từ điển
- 25. Làm cách nào để lặp lại từ điển Python, được sắp xếp theo giá trị?
- 26. giá trị sắp xếp và danh sách trả lại chìa khóa từ dict python
- 27. Làm thế nào để sắp xếp các từ điển của các đối tượng theo giá trị thuộc tính trong python?
- 28. C#: sắp xếp từ điển theo thứ tự giảm dần
- 29. python sắp xếp từ điển bằng chiều dài của giá trị
- 30. Sắp xếp nhiều khóa với Unix sắp xếp
Ngoài ra, đây hỏi về sắp xếp theo chìa khóa, câu trả lời liên quan là về sắp xếp theo giá trị. – ForeverWintr
các câu trả lời dưới đây trả lại danh sách được sắp xếp của các phím chỉ (đó là tầm thường). câu trả lời cho câu hỏi "trùng lặp" về sắp xếp theo giá trị trả lại danh sách được sắp xếp của cặp khóa/giá trị (được sắp xếp theo giá trị). Nếu bạn muốn nó được sắp xếp theo khóa, chỉ cần sử dụng 0 thay vì tham số cho toán tử operator.itemgetter(). – ScienceFriction