Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để sắp xếp một từ điển Python lồng nhau?

Nếu bạn có từ điển ở định dạng sau:

{
   'KEY1':{'name':'foo','data':1351,'completed':100},
   'KEY2':{'name':'bar','data':1541,'completed':12},
   'KEY3':{'name':'baz','data':58413,'completed':18}
}

Và bạn muốn sắp xếp theo khóa, được hoàn thành trong mỗi mục nhập, theo thứ tự tăng dần, bạn có thể sử dụng hàm đã sắp xếp với lambda chỉ định khóa nào sẽ sử dụng để sắp xếp dữ liệu. Ví dụ,

my_collection = {
   'KEY1':{'name':'foo','data':1351,'completed':100},
   'KEY2':{'name':'bar','data':1541,'completed':12},
   'KEY3':{'name':'baz','data':58413,'completed':18}
}
sorted_keys = sorted(my_collection, key=lambda x: (my_collection[x]['completed']))
print(sorted_keys)

Điều này sẽ cho kết quả:

['KEY2', 'KEY3', 'KEY1']