Hướng dẫn how do you sort a dictionary element in python? - làm thế nào để bạn sắp xếp một phần tử từ điển trong python?
Python 3.7+ hoặc Cpython 3.6Dicts bảo tồn thứ tự chèn trong Python 3.7+. Tương tự trong Cpython 3.6, nhưng đó là một chi tiết triển khai. Show
hoặc
Python cũ hơnKhông thể sắp xếp một từ điển, chỉ để có được một đại diện của một từ điển được sắp xếp. Từ điển vốn đã không có trật tự, nhưng các loại khác, chẳng hạn như danh sách và bộ dữ liệu, thì không. Vì vậy, bạn cần một loại dữ liệu được đặt hàng để thể hiện các giá trị được sắp xếp, đây sẽ là một danh sách có lẽ là một danh sách các bộ dữ liệu. Ví dụ,
3 sẽ là một danh sách các bộ dữ liệu được sắp xếp theo phần tử thứ hai trong mỗi tuple. 4.
Và cho những người muốn sắp xếp các khóa thay vì các giá trị:
Trong Python3 vì việc giải nén không được phép chúng tôi có thể sử dụng
Nếu bạn muốn đầu ra là một dict, bạn có thể sử dụng 5:
wjandrea 24.9k8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges Đã trả lời ngày 5 tháng 3 năm 2009 lúc 0:59Mar 5, 2009 at 0:59
Devin Jeanpierredevin JeanpierreDevin Jeanpierre 90.1k4 Huy hiệu vàng55 Huy hiệu bạc79 Huy hiệu đồng4 gold badges55 silver badges79 bronze badges 10 Đơn giản như: from collections import defaultdict d = defaultdict(int) for w in text.split(): d[w] += 1 6Vâng, thực sự có thể thực hiện một "sự sắp xếp theo giá trị từ điển". Gần đây tôi phải làm điều đó trong một golf mã (Stack Overflow Code Code Golf: Biểu đồ tần số từ). Tóm tắt, vấn đề thuộc loại: đưa ra một văn bản, đếm tần suất mỗi từ gặp và hiển thị một danh sách các từ trên cùng, được sắp xếp bằng tần số giảm. Nếu bạn xây dựng một từ điển với các từ dưới dạng các khóa và số lần xuất hiện của mỗi từ là giá trị, hãy đơn giản hóa ở đây như:
Sau đó, bạn có thể nhận được một danh sách các từ, được đặt hàng theo tần suất sử dụng với 7 - sắp xếp lặp lại các khóa từ điển, sử dụng số lượng từ xuất hiện làm khóa sắp xếp.
Tôi đang viết lời giải thích chi tiết này để minh họa những gì mọi người thường có nghĩa là "Tôi có thể dễ dàng sắp xếp một từ điển theo khóa, nhưng làm cách nào để sắp xếp theo giá trị" - và tôi nghĩ rằng bài đăng gốc đang cố gắng giải quyết vấn đề như vậy. Và giải pháp là thực hiện các loại danh sách các khóa, dựa trên các giá trị, như được hiển thị ở trên.
Đã trả lời ngày 5 tháng 7 năm 2010 lúc 8:01Jul 5, 2010 at 8:01
3 Bạn đã có thể sử dụng:
Điều này sẽ sắp xếp từ điển theo các giá trị của mỗi mục trong từ điển từ nhỏ nhất đến lớn nhất. Để sắp xếp nó theo thứ tự giảm dần chỉ cần thêm 8:
Input: 0Output: 1
Suresh2692 3.6533 huy hiệu vàng15 Huy hiệu bạc25 Huy hiệu đồng3 gold badges15 silver badges25 bronze badges Đã trả lời ngày 13 tháng 2 năm 2010 lúc 16:33Feb 13, 2010 at 16:33
MarkmarkMark 11.1k1 Huy hiệu vàng14 Huy hiệu bạc5 Huy hiệu đồng1 gold badge14 silver badges5 bronze badges 6 Dicts không thể được sắp xếp, nhưng bạn có thể xây dựng một danh sách được sắp xếp từ họ. Một danh sách được sắp xếp các giá trị dict: 2Một danh sách các cặp (khóa, giá trị), được sắp xếp theo giá trị: 3Đã trả lời ngày 5 tháng 3 năm 2009 lúc 1:05Mar 5, 2009 at 1:05
3 Trong Python 2.7 gần đây, chúng tôi có loại OrderedDict mới, nhớ rằng thứ tự được thêm vào. 4Để tạo một từ điển mới được đặt hàng từ bản gốc, sắp xếp theo các giá trị: 5Đơn đặt hàng hành xử như một dict bình thường: 6
Đã trả lời ngày 5 tháng 7 năm 2010 lúc 2:50Jul 5, 2010 at 2:50
Mykhalmykhalmykhal Phù hiệu vàng 18.6K1171 Huy hiệu bạc78 Huy hiệu đồng11 gold badges71 silver badges78 bronze badges 7 Sử dụng Python 3.5Mặc dù tôi thấy câu trả lời được chấp nhận hữu ích, tôi cũng ngạc nhiên rằng nó chưa được cập nhật để tham khảo LệnhDdict từ mô -đun Bộ sưu tập thư viện tiêu chuẩn như một sự thay thế hiện đại, khả thi - được thiết kế để giải quyết chính xác loại vấn đề này.OrderedDict from the standard library collections module as a viable, modern alternative - designed to solve exactly this type of problem. 7Tài liệu chính thức đặt hàng cũng cung cấp một ví dụ rất giống nhau, nhưng sử dụng Lambda cho chức năng sắp xếp:OrderedDict documentation offers a very similar example too, but using a lambda for the sort function: 8
Đã trả lời ngày 5 tháng 12 năm 2015 lúc 9:46Dec 5, 2015 at 9:46
Arcseldonarcseldonarcseldon 33.7K16 Huy hiệu vàng117 Huy hiệu bạc120 Huy hiệu đồng16 gold badges117 silver badges120 bronze badges 1 Khá giống như câu trả lời của Hank Gay: 9Hoặc được tối ưu hóa một chút như đề xuất của John Fouhy: 0
Đã trả lời ngày 5 tháng 3 năm 2009 lúc 1:06Mar 5, 2009 at 1:06
user26294user26294user26294 5.2973 Huy hiệu vàng22 Huy hiệu bạc18 Huy hiệu đồng3 gold badges22 silver badges18 bronze badges 4 Theo Python 3.6, dict tích hợp sẽ được đặt hàngTin tốt, vì vậy trường hợp sử dụng ban đầu của các cặp ánh xạ của OP được lấy từ cơ sở dữ liệu với ID chuỗi duy nhất làm khóa và giá trị số làm giá trị thành một Python v3.6+ Dict tích hợp, giờ đây sẽ tôn trọng thứ tự chèn. Nếu nói hai biểu thức bảng kết quả từ truy vấn cơ sở dữ liệu như: 1sẽ được lưu trữ trong hai bộ dữ liệu python, k_seq và v_seq (được căn chỉnh theo chỉ số số và với cùng một độ dài tất cả), sau đó: 2Cho phép xuất ra sau như: 3năng suất trong trường hợp này (đối với Python 3.6+ mới được tích hợp Dict!): 4Trong cùng một thứ tự cho mỗi giá trị của v. Trong trường hợp trong cài đặt Python 3.5 trên máy của tôi hiện đang mang lại: 5Details:Như đề xuất vào năm 2012 bởi Raymond Hettinger (x Compact và nhận được phiên bản riêng tư, và các từ khóa được đặt hàng "do sửa chữa/thực hiện vấn đề 27350" Compact và Order Dict "trong Python 3.6 Bây giờ chúng tôi sẽ có thể sử dụng một dict tích hợp để duy trì thứ tự chèn !! Hy vọng rằng điều này sẽ dẫn đến việc thực hiện Layer LayerDDICT như một bước đầu tiên. Như @Jimfasarakis-Hilliard đã chỉ ra, một số trường hợp sử dụng cho loại đặt hàng cũng có trong tương lai. Tôi nghĩ rằng cộng đồng Python nói chung sẽ kiểm tra cẩn thận, nếu điều này sẽ đứng trước thử thách của thời gian, và các bước tiếp theo sẽ là gì. Thời gian để suy nghĩ lại về thói quen mã hóa của chúng tôi để không bỏ lỡ các khả năng được mở ra bằng cách đặt hàng ổn định của:
Đầu tiên bởi vì nó giúp giảm bớt việc thực hiện các chức năng và phương pháp trong một số trường hợp. Thứ hai vì nó khuyến khích sử dụng 9s dễ dàng hơn làm lưu trữ trung gian trong các đường ống xử lý.Raymond Hettinger vui lòng cung cấp tài liệu giải thích "Công nghệ đằng sau từ điển Python 3,6"-từ bài thuyết trình của Tập đoàn Cuộc họp San Francisco Python 2016-Dec-08. Và có thể khá một số trang câu hỏi và câu trả lời được trang trí cao sẽ nhận được các biến thể của thông tin này và nhiều câu trả lời chất lượng cao cũng sẽ yêu cầu cập nhật cho mỗi phiên bản. Caveat Emptor (nhưng cũng xem bên dưới cập nhật 2017-12-15):Như @AJCR lưu ý đúng: "Khía cạnh bảo tồn đơn đặt hàng của triển khai mới này được coi là một chi tiết thực hiện và không nên dựa vào." (từ whatsnew36) không chọn nit, nhưng trích dẫn đã bị cắt một chút bi quan ;-). Nó tiếp tục là "(điều này có thể thay đổi trong tương lai, nhưng mong muốn thực hiện Dict mới này trong ngôn ngữ cho một vài bản phát hành trước khi thay đổi thông số ngôn ngữ để bắt buộc ngữ nghĩa bảo tồn đơn đặt hàng cho tất cả các triển khai Python hiện tại và tương lai; Giúp bảo tồn khả năng tương thích ngược với các phiên bản cũ hơn của ngôn ngữ nơi thứ tự lặp ngẫu nhiên vẫn có hiệu lực, ví dụ: Python 3.5). "but the citation was cut a bit pessimistic ;-). It continues as " (this may change in the future, but it is desired to have this new dict implementation in the language for a few releases before changing the language spec to mandate order-preserving semantics for all current and future Python implementations; this also helps preserve backwards-compatibility with older versions of the language where random iteration order is still in effect, e.g. Python 3.5)." Vì vậy, như trong một số ngôn ngữ con người (ví dụ: tiếng Đức), việc sử dụng định hình ngôn ngữ và bây giờ sẽ được tuyên bố ... trong whatsnew36. Cập nhật 2017-12-15:Trong một thư đến danh sách Python-Dev, Guido Van Rossum đã tuyên bố:
Vì vậy, phiên bản 3.6 Cpython tác dụng phụ của đặt hàng chèn dict hiện đang trở thành một phần của thông số ngôn ngữ (và không còn là một chi tiết thực hiện). Chủ đề thư đó cũng xuất hiện một số mục tiêu thiết kế khác biệt cho 5 theo lời nhắc nhở của Raymond Hettinger trong khi thảo luận.Đã trả lời ngày 10 tháng 9 năm 2016 lúc 10:05Sep 10, 2016 at 10:05
DilettantdilettantDilettant 3.1693 huy hiệu vàng29 Huy hiệu bạc28 Huy hiệu đồng3 gold badges29 silver badges28 bronze badges 3 Nó thường có thể rất tiện dụng để sử dụng có tên. Ví dụ: bạn có một từ điển 'tên' là phím và 'điểm' là giá trị và bạn muốn sắp xếp 'điểm':namedtuple. For example, you have a dictionary of 'name' as keys and 'score' as values and you want to sort on 'score': 6Sắp xếp với điểm số thấp nhất đầu tiên: 7Sắp xếp với điểm số cao nhất đầu tiên: 8Bây giờ bạn có thể nhận được tên và điểm số của, giả sử người chơi tốt thứ hai (index = 1) rất giống như thế này: 9
vallentin 22K6 Huy hiệu vàng56 Huy hiệu bạc76 Huy hiệu Đồng6 gold badges56 silver badges76 bronze badges Đã trả lời ngày 30 tháng 8 năm 2011 lúc 0:30Aug 30, 2011 at 0:30
RemiremiRemi Huy hiệu vàng 19,9K855 Huy hiệu bạc41 Huy hiệu đồng8 gold badges55 silver badges41 bronze badges 2 Tôi đã có cùng một vấn đề, và tôi đã giải quyết nó như thế này: 0. các khóa được sắp xếp theo giá trị của giá trị của chúng.) Xin lưu ý rằng thứ tự không được xác định rõ (các khóa có cùng giá trị sẽ theo thứ tự tùy ý trong danh sách đầu ra).
Đã trả lời ngày 18 tháng 11 năm 2010 lúc 14:19Nov 18, 2010 at 14:19
Jimifikijimifikijimifiki 5.2441 Huy hiệu vàng32 Huy hiệu bạc56 Huy hiệu đồng1 gold badge32 silver badges56 bronze badges 2 Nếu các giá trị là số bạn cũng có thể sử dụng 1 từ các bộ sưu tập. 1
Georgy 10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges Đã trả lời ngày 27 tháng 6 năm 2012 lúc 15:43Jun 27, 2012 at 15:43
Ivan Sasivan SasIvan Sas 9931 Huy hiệu vàng9 Huy hiệu bạc14 Huy hiệu đồng1 gold badge9 silver badges14 bronze badges 2 Trong Python 2.7, chỉ cần làm: 2sao chép-paste từ: http://docs.python.org/dev/l Library Vui thích ;-) Đã trả lời ngày 22 tháng 8 năm 2013 lúc 8:38Aug 22, 2013 at 8:38
Sweetdreamsweetdreamsweetdream 1.18111 Huy hiệu bạc14 Huy hiệu đồng11 silver badges14 bronze badges Đây là mã: 3Đây là kết quả: Nguyên bản 4ROFL 5Thứ hạng 6
nước đá 4.5723 Huy hiệu vàng33 Huy hiệu bạc47 Huy hiệu đồng3 gold badges33 silver badges47 bronze badges Đã trả lời ngày 8 tháng 3 năm 2011 lúc 2:06Mar 8, 2011 at 2:06
PedromorganpedromorganPedroMorgan 89812 Huy hiệu bạc15 Huy hiệu đồng12 silver badges15 bronze badges Hãy thử cách tiếp cận sau. Chúng ta hãy xác định một từ điển gọi là MyDICT với các dữ liệu sau: 7Nếu một người muốn sắp xếp từ điển theo phím, người ta có thể làm một cái gì đó như: 8Điều này sẽ trả về đầu ra sau: 9Mặt khác, nếu người ta muốn sắp xếp một từ điển theo giá trị (như được hỏi trong câu hỏi), người ta có thể làm như sau: 0Kết quả của lệnh này (sắp xếp từ điển theo giá trị) sẽ trả về như sau: 1
Đã trả lời ngày 7 tháng 4 năm 2014 lúc 4:46Apr 7, 2014 at 4:46
Nathaniel Paynenathaniel PayneNathaniel Payne 2.7191 Huy hiệu vàng26 Huy hiệu bạc32 Huy hiệu đồng1 gold badge26 silver badges32 bronze badges 2 Bắt đầu từ các đối tượng Python 3.6, 9 hiện được đặt hàng theo thứ tự chèn. Nó chính thức trong các thông số kỹ thuật của Python 3.7. 2Trước đó, bạn đã phải sử dụng 3.Tài liệu Python 3.7 cho biết:
Đã trả lời ngày 15 tháng 9 năm 2018 lúc 13:37Sep 15, 2018 at 13:37
Maxime Chéramymaxime ChéramyMaxime Chéramy 16.8k8 Huy hiệu vàng52 Huy hiệu bạc74 Huy hiệu đồng8 gold badges52 silver badges74 bronze badges 1 Bạn cũng có thể tạo một "chỉ mục đảo ngược", cũng 3Bây giờ nghịch đảo của bạn có các giá trị; Mỗi giá trị có một danh sách các khóa áp dụng. 4Đã trả lời ngày 5 tháng 3 năm 2009 lúc 1:52Mar 5, 2009 at 1:52
S.LottS.LottS.Lott 377K78 Huy hiệu vàng503 Huy hiệu bạc772 Huy hiệu Đồng78 gold badges503 silver badges772 bronze badges Bạn có thể sử dụng bộ sưu tập. Lưu ý, điều này sẽ hoạt động cho cả giá trị số và không số. 5
Đã trả lời ngày 9 tháng 3 năm 2013 lúc 12:30Mar 9, 2013 at 12:30
AbhijitabhijitAbhijit 60.2K18 Huy hiệu vàng127 Huy hiệu bạc198 Huy hiệu đồng18 gold badges127 silver badges198 bronze badges 1 Giải pháp bộ sưu tập được đề cập trong một câu trả lời khác là hoàn toàn tuyệt vời, bởi vì bạn giữ lại kết nối giữa khóa và giá trị mà trong trường hợp từ điển là vô cùng quan trọng. Tôi không đồng ý với lựa chọn số một được trình bày trong một câu trả lời khác, bởi vì nó vứt bỏ các phím. Tôi đã sử dụng giải pháp được đề cập ở trên (mã hiển thị bên dưới) và giữ quyền truy cập vào cả khóa và giá trị và trong trường hợp của tôi, đặt hàng là trên các giá trị, nhưng tầm quan trọng là thứ tự của các khóa sau khi đặt hàng các giá trị. 6Đã trả lời ngày 3 tháng 3 năm 2014 lúc 14:58Mar 3, 2014 at 14:58
Eamonn Kennyeamonn KennyEamonn Kenny 1.73116 huy hiệu bạc18 Huy hiệu đồng16 silver badges18 bronze badges 0 Bạn có thể sử dụng một chế độ bỏ qua là một từ điển được sắp xếp vĩnh viễn theo giá trị. 7Nếu bạn sử dụng 4, 5 hoặc 6 thì bạn sẽ lặp lại theo thứ tự được sắp xếp theo giá trị.Nó được triển khai bằng cách sử dụng cơ sở hạ tầng Danh sách Bỏ qua. Đã trả lời ngày 25 tháng 9 năm 2014 lúc 22:56Sep 25, 2014 at 22:56
Malthemalthemalthe 1.00411 Huy hiệu bạc22 Huy hiệu đồng11 silver badges22 bronze badges 2 Bạn cũng có thể sử dụng một chức năng tùy chỉnh có thể được chuyển đến khóa tham số. 8
Đã trả lời ngày 25 tháng 5 năm 2017 lúc 18:13May 25, 2017 at 18:13
2 Tất nhiên, hãy nhớ rằng, bạn cần sử dụng 3 vì từ điển Python thông thường không giữ thứ tự ban đầu. 9Nếu bạn không có Python 2.7 trở lên, tốt nhất bạn có thể làm là lặp lại các giá trị trong hàm máy phát. (Có một 3 cho 2.4 và 2.6 ở đây, nhưnga) Tôi không biết về nó hoạt động tốt như thế nào và b) Bạn phải tải xuống và cài đặt tất nhiên. Nếu bạn không có quyền truy cập hành chính, thì tôi sợ tùy chọn ra.) 0Bạn cũng có thể in ra mọi giá trị 1Hãy nhớ loại bỏ dấu ngoặc sau khi in nếu không sử dụng Python 3.0 trở lên
Georgy 10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges Đã trả lời ngày 31 tháng 7 năm 2015 lúc 8:08Jul 31, 2015 at 8:08
rassa45rassa45rassa45 3,4161 Huy hiệu vàng28 Huy hiệu bạc43 Huy hiệu đồng1 gold badge28 silver badges43 bronze badges 1 2Đã trả lời ngày 1 tháng 11 năm 2010 lúc 12:16Nov 1, 2010 at 12:16
ArgunargunArgun 4175 Huy hiệu bạc20 Huy hiệu Đồng5 silver badges20 bronze badges 1 Dưới đây là một giải pháp sử dụng ZIP trên 9 và 0. Một vài dòng xuống liên kết này (trên các đối tượng xem từ điển) là:
Vì vậy, chúng tôi có thể làm như sau: 3Đã trả lời ngày 20 tháng 6 năm 2015 lúc 1:44Jun 20, 2015 at 1:44
ScottscottScott 5.7614 Huy hiệu vàng34 Huy hiệu bạc 50 Huy hiệu Đồng4 gold badges34 silver badges50 bronze badges 0 Như được chỉ ra bởi Dilettant, Python 3.6 bây giờ sẽ giữ trật tự! Tôi nghĩ rằng tôi sẽ chia sẻ một chức năng mà tôi đã viết giúp giảm bớt sự sắp xếp của một điều khác (tuple, danh sách, dict). Trong trường hợp sau, bạn có thể sắp xếp các khóa hoặc giá trị và nó có thể tính đến số lượng so sánh. Chỉ dành cho> = 3.6!Only for >= 3.6! Khi bạn thử sử dụng Sắp xếp trên một thứ có thể giữ được, ví dụ: Chuỗi cũng như ints, sort () sẽ thất bại. Tất nhiên bạn có thể buộc so sánh chuỗi với str (). Tuy nhiên, trong một số trường hợp bạn muốn so sánh số thực tế trong đó 1 nhỏ hơn 2 (không phải là trường hợp trong so sánh chuỗi). Vì vậy, tôi đã nghĩ ra những điều sau đây. Khi bạn muốn so sánh số rõ ràng, bạn có thể sử dụng cờ 3 sẽ cố gắng phân loại số rõ ràng bằng cách cố gắng chuyển đổi tất cả các giá trị thành phao. Nếu điều đó thành công, nó sẽ sắp xếp số, nếu không nó sẽ dùng đến so sánh chuỗi.Nhận xét để cải thiện chào mừng. 4Đã trả lời ngày 2 tháng 3 năm 2018 lúc 16:48Mar 2, 2018 at 16:48
Bram Vanroybram VanroyBram Vanroy 25.7K23 Huy hiệu vàng125 Huy hiệu bạc224 Huy hiệu đồng23 gold badges125 silver badges224 bronze badges Tôi vừa học được một kỹ năng liên quan từ Python cho mọi người. Bạn có thể sử dụng danh sách tạm thời để giúp bạn sắp xếp từ điển: 5Nếu bạn muốn sắp xếp danh sách theo thứ tự giảm dần, chỉ cần thay đổi dòng sắp xếp ban đầu thành: 6Sử dụng danh sách hiểu, một lớp lót sẽ là: 7Đầu ra mẫu: 8
Đã trả lời ngày 27 tháng 5 năm 2018 lúc 17:45May 27, 2018 at 17:45
McGagmcgagmcgag Huy hiệu Huy hiệu Bạc 19511 silver badge13 bronze badges 1 Sử dụng giá trịTedDict từ dicts:ValueSortedDict from dicts: 9Đã trả lời ngày 19 tháng 10 năm 2011 lúc 6:25Oct 19, 2011 at 6:25
Pontypontyponty 6148 Huy hiệu bạc8 Huy hiệu đồng8 silver badges8 bronze badges Lặp lại thông qua một dict và sắp xếp nó theo các giá trị của nó theo thứ tự giảm dần: 0Đã trả lời ngày 30 tháng 10 năm 2011 lúc 19:42Oct 30, 2011 at 19:42
Juhohjuhohjuhoh 1091 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges Nếu giá trị của bạn là số nguyên và bạn sử dụng Python 2.7 hoặc mới hơn, bạn có thể sử dụng 4 thay vì 9. Phương thức 6 sẽ cung cấp cho bạn tất cả các mục, được sắp xếp theo giá trị.Đã trả lời ngày 24 tháng 1 năm 2012 lúc 19:28Jan 24, 2012 at 19:28
Petr Viktorinpetr ViktorinPetr Viktorin 63,8K9 Huy hiệu vàng80 Huy hiệu bạc80 Huy hiệu Đồng9 gold badges80 silver badges80 bronze badges Điều này hoạt động trong 3.1.x: 1
Đã trả lời ngày 16 tháng 11 năm 2011 lúc 7:32Nov 16, 2011 at 7:32
ifailifailiFail 891 Huy hiệu bạc1 Huy hiệu đồng1 silver badge1 bronze badge Để hoàn thiện, tôi đang đăng một giải pháp sử dụng Heapq. Lưu ý, phương pháp này sẽ hoạt động cho cả giá trị số và không số lượng 2Đã trả lời ngày 23 tháng 3 năm 2013 lúc 14:19Mar 23, 2013 at 14:19
AbhijitabhijitAbhijit 60.2K18 Huy hiệu vàng127 Huy hiệu bạc198 Huy hiệu đồng18 gold badges127 silver badges198 bronze badges Làm thế nào để bạn sắp xếp một yếu tố từ điển?Sử dụng hàm Sắp xếp () Hàm quan trọng mà bạn sẽ sử dụng để sắp xếp từ điển là hàm Sắp xếp () tích hợp. Hàm này lấy một điều đáng tin cậy làm đối số chính, với hai đối số chỉ từ khóa tùy chọn, một hàm khóa và giá trị boolean ngược.
The critical function that you'll use to sort dictionaries is the built-in sorted() function. This function takes an iterable as the main argument, with two optional keyword-only arguments—a key function and a reverse Boolean value.
Chúng ta có thể sắp xếp từ điển trong Python không?Chúng ta có thể sắp xếp các danh sách, bộ dữ liệu, chuỗi và các đối tượng khác có thể đi được trong Python vì tất cả chúng đều là đối tượng được đặt hàng. Vâng, kể từ Python 3.7, từ điển cũng nhớ thứ tự của các mục được chèn. Do đó, chúng tôi cũng có thể sắp xếp từ điển bằng cách sử dụng hàm Sắp xếp () tích hợp của Python.we are also able to sort dictionaries using python's built-in sorted() function.
Làm thế nào để bạn sắp xếp một từ điển bằng cách sắp xếp?Sắp xếp từ điển bằng cách sử dụng hàm Sắp xếp () khi sắp xếp từ điển, chúng ta có thể chuyển thêm một đối số cho hàm Sắp xếp () như thế này: Sắp xếp (dict1, key = dict1. Nhận).Ở đây, khóa là một hàm được gọi trên mỗi phần tử trước khi các giá trị được so sánh để sắp xếp.sorted(dict1, key=dict1. get) . Here, key is a function that's called on each element before the values are compared for sorting.
Làm thế nào để tôi sắp xếp một từ điển trong Python?Để sắp xếp từ điển theo giá trị trong Python, bạn có thể sử dụng hàm Sắp xếp ().Hàm Sắp xếp () của Python có thể được sử dụng để sắp xếp từ điển theo khóa, cho phép phương thức sắp xếp tùy chỉnh.Sắp xếp () lấy ba đối số: đối tượng, khóa và đảo ngược.Từ điển là cấu trúc dữ liệu không theo thứ tự.use the sorted() function. Python's sorted() function can be used to sort dictionaries by key, which allows for a custom sorting method. sorted() takes three arguments: object, key, and reverse. Dictionaries are unordered data structures. |