2013-06-01 49 views
27

Tôi đã tìm thấy nhiều chủ đề để phân loại bởi các giá trị như here nhưng nó dường như không có tác dụng đối với tôi ...python sắp xếp từ điển bằng chiều dài của giá trị

Tôi có một cuốn từ điển các danh sách có tuples. Mỗi danh sách có số lượng bộ dữ liệu khác nhau. Tôi muốn sắp xếp từ điển theo số lượng tuples mà mỗi danh sách chứa.

>>>to_format 
>>>{"one":[(1,3),(1,4)],"two":[(1,2),(1,2),(1,3)],"three":[(1,1)]} 
>>>for key in some_sort(to_format): 
     print key, 
>>>two one three 

Điều này có thể không?

Trả lời

50
>>> d = {"one": [(1,3),(1,4)], "two": [(1,2),(1,2),(1,3)], "three": [(1,1)]} 
>>> for k in sorted(d, key=lambda k: len(d[k]), reverse=True): 
     print k, 


two one three 

này cũng hoạt động:

>>> print ' '.join(sorted(d, key=lambda k: len(d[k]), reverse=True)) 
two one three 
+2

3 phút đánh dấu ... :) – jwillis0720

+0

tôi nhận được lỗi này khi tôi cố gắng và chạy mã của bạn: 'NameError: toàn cầu tên 'd' không được định nghĩa '. Tôi đang sử dụng Python 2.7.5 – mchangun

+1

'd' là tên biến từ điển mẫu. Sub trong whateer 'dict' của bạn được gọi là – jamylak

Các vấn đề liên quan