文字列要素と整数要素の両方を含むタプルのリストを操作する場合、整数値に基づいて効率的に並べ替えることができます。不可欠であること。この記事では、この一般的なプログラミング タスクの解決策を詳しく説明します。
2 番目の項目 (整数) でタプルのリストを並べ替えるには、Python のsorted() 関数を利用できます。この関数では、key キーワード引数を使用して並べ替え基準をカスタマイズできます。
key 引数は、タプルの比較方法を決定する関数を入力として受け取ります。この場合、2 番目の要素に基づいてそれらを比較します。次のようにラムダ構文を使用してカスタム関数を定義できます:
lambda x: x[1]
この関数は単一のタプルを入力として受け取り、その 2 番目の要素を返します。
ここで、sorted() の key 引数を使用して、このカスタム関数をソート関数として指定できます。ルール:
sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=lambda x: x[1])
これは、2 番目の要素によって昇順にソートされたタプルを含む新しいリストを返します:
[('abc', 121), ('abc', 148), ('abc', 221), ('abc', 231)]
最適なパフォーマンスを得るには、lambda x: x[1] の代わりにoperator.itemgetter(1) を使用することを検討してください。 Operator.itemgetter は、データ構造から指定された要素を抽出するために明示的に設計された組み込み関数であり、効率を向上させることができます。
from operator import itemgetter sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=itemgetter(1))
このアプローチでは、ラムダ関数を使用した場合と同じ結果が得られますが、わずかに異なる場合があります。場合によってはさらに速くなります。
以上がPython タプルを整数の 2 番目の要素で効率的に並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。