2つの制約がある辞書の逆順を取得したいと思います。まず、値に従って並べ替えます。
>>> d = {'I C': (2, 4), 'B I C': (2, 6), 'B I': (2, 6)}
>>> sortd = sorted(d.items(), key=lambda v: v[1], reverse=True) (1)
>>> sortd
[('B I', (2, 6)), ('B I C', (2, 6)), ('I C', (2, 4))]
次に、同じ値のアイテムについて、以前に最も長いキーを持つアイテムを取得したいと思います。前の例では、結果としてこれが必要です。
[('B I C', (2, 6)), ('B I', (2, 6)), ('I C', (2, 4))]
私のsorted()
コマンド(1)で直接それを行うことは可能ですか?