58

ここのように値でソートするための多くのスレッドを見つけましたが、うまくいかないようです...

タプルを持つリストの辞書があります。各リストには異なる量のタプルがあります。各リストに含まれるタプルの数で辞書を並べ替えたい。

>>>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

これは可能ですか?

4

2 に答える 2

106
>>> 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

Python 2 および Python 3 で動作するユニバーサル ソリューションを次に示します。

>>> print(' '.join(sorted(d, key=lambda k: len(d[k]), reverse=True)))
two one three
于 2013-06-01T02:22:54.497 に答える