特定のインデックスの要素に基づいたリスト/タプルのリスト/タプルの並べ替え
リストやタプルのようなデータ構造には、多くの場合、次の要素が含まれます。サブリストまたはサブタプル。各サブセット内の要素に基づいてこのような構造をソートするタスクが発生した場合は、次の手法が効果的な解決策を提供します。
タプルまたはリストの使用
タプルとリストの両方リストはデータを保存するための有効な選択肢です。タプルは不変です。つまり、タプルの内容は作成後に変更できません。一方、リストは変更可能であり、その要素を変更できます。並べ替えの目的で、どちらを選択するかは特定のシナリオによって異なります。
2 番目の要素による並べ替え
2 番目の要素に基づいてリスト/タプルのリスト/タプルを並べ替えるには各サブセットの要素を削除するには、Python の組み込みのsorted()関数を利用できます。この関数は、並べ替えの基準を指定するオプションのキー引数を受け取ります。
Lambda 関数でのsorted() の使用
エレガントなアプローチは、次のようにラムダ関数を使用することです。重要な引数。たとえば、リストのリストの 2 番目の要素で並べ替えるには、次の操作を実行できます。
sorted_by_second = sorted(data, key=lambda tup: tup[1])
その場で並べ替え
並べ替えたい場合新しい並べ替えられたリストを作成せずに元のリスト/タプルをそのまま配置する場合は、代わりに sort() メソッドを使用できます。このメソッドはキー引数も受け入れます:
data.sort(key=lambda tup: tup[1]) # sorts in place
並べ替え順序のカスタマイズ
デフォルトでは、並べ替えは昇順で行われます。降順で並べ替えるには、逆オプションを指定します。
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)
逆順でその場で並べ替え
元のリスト/タプルをその場で降順で並べ替えるには注文、使用:
data.sort(key=lambda tup: tup[1], reverse=True) # sorts in place
以上が特定のインデックスに基づいてリスト/タプルのリスト/タプルを並べ替える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。