特定の内部リスト要素によるリストのリストの並べ替え
各内部リスト内の特定のインデックスに基づいてリストのリストを並べ替えるには, Python にはいくつかのアプローチがあります。よく使用される方法の 1 つは、オペレーター モジュールの itemgetter() 関数を利用することです。
itemgetter() を使用した解決策:
オペレーター モジュールの itemgetter() 関数を使用すると、次のことが可能になります。リストまたはタプルから特定の要素を選択的に抽出します。 itemgetter() 関数を引数としてsorted() 関数に渡すことで、目的の内部要素に従って外側のリストを並べ替えることができます。
from operator import itemgetter L = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']] sorted(L, key=itemgetter(2))
このコード スニペットは、次の基準に基づいてリスト L を並べ替えます。各内部リストの 2 番目のインデックスにある文字列要素。結果としてソートされたリストは次のようになります:
[[9, 4, 'afsd'], [0, 1, 'f'], [4, 2, 't']]
Lambda 関数を使用した代替ソリューション:
または、lambda 関数を利用して同じ並べ替え動作を実現できます。
sorted(L, key=lambda x: x[2])
ただし、この単純なケースでは、ラムダ関数を使用すると、ラムダ関数を使用した場合と比べて若干遅くなります。 itemgetter().
以上がPython で特定の内部リスト要素によってリストのリストを並べ替える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。