ホームページ >バックエンド開発 >Python チュートリアル >Python タプルを整数の 2 番目の要素で効率的に並べ替える方法

Python タプルを整数の 2 番目の要素で効率的に並べ替える方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-05 08:44:17491ブラウズ

How to Efficiently Sort Python Tuples by Their Integer Second Element?

2 番目の要素 (整数値) による Python タプルの並べ替え

文字列要素と整数要素の両方を含むタプルのリストを操作する場合、整数値に基づいて効率的に並べ替えることができます。不可欠であること。この記事では、この一般的なプログラミング タスクの解決策を詳しく説明します。

2 番目の項目 (整数) でタプルのリストを並べ替えるには、Python のsorted() 関数を利用できます。この関数では、key キーワード引数を使用して並べ替え基準をカスタマイズできます。

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)]

Operator.itemgetter によるソートの最適化

最適なパフォーマンスを得るには、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。