2

Python の式でリストのリストを並べ替えたいと思います。

つまり、リストのリストを の値でソートします。abs(x[0] - x[3])ここxで、 はサブリストです。リストに別の要素を追加し、それを並べ替えて削除することでそれを行うことができますが、それは非効率的です。より良い方法はありますか?

4

1 に答える 1

5

ソートするキー関数として渡すだけです:

my_list.sort(key=lambda x: abs(x[0] - x[3]))

例えば:

In [1]: my_list = [[1, 2], [3, 7], [4, 6]]

In [2]: my_list.sort(key=lambda x: abs(x[0] - x[1]))

In [3]: my_list
Out[3]: [[1, 2], [4, 6], [3, 7]]
于 2013-09-12T23:56:31.287 に答える