ホームページ > バックエンド開発 > Python チュートリアル > Python でタプルのリストを 2 番目の項目で並べ替えるにはどうすればよいですか?

Python でタプルのリストを 2 番目の項目で並べ替えるにはどうすればよいですか?

DDD
リリース: 2024-11-30 00:28:10
オリジナル
750 人が閲覧しました

How to Sort a List of Tuples by the Second Item in Python?

2 番目の項目によるタプルの並べ替え: 包括的なガイド

データ構造を効果的に並べ替えることは、プログラミングの重要な側面であり、タプルの並べ替え方法を理解することです。 2 番目の項目は必須です。この記事では、この正確な質問に対処し、実際のシナリオに基づいた詳細なウォークスルーと包括的な回答を提供します。

質問

次のタプルのリストを考えてみましょう。構造:

[('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)]
ログイン後にコピー

目的は、このリストを整数値 (2 番目) に基づいて昇順に並べ替えることです。

解決策

2 番目の項目でタプルを並べ替える鍵は、sorted() 関数の重要なキーワード引数を利用することにあります。デフォルトでは、sorted() は昇順にソートします。これはまさに私たちが求めているものです。実装方法は次のとおりです。

sorted(
    [('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)],
    key=lambda x: x[1]
)
ログイン後にコピー

key 引数は、このソリューションの重要な側面です。各タプルから比較可能な要素を抽出する方法を指定する関数を定義します。この場合、x[1] 経由でアクセスされる各タプルの 2 番目の項目を比較したいと考えています。

最適化

パフォーマンスを向上させるために、次のことを考慮できます。キー引数として lambda x: x[1] の代わりにoperator.itemgetter(1) を使用します。これは、operator.itemgetter(1) の方が大幅に高速かつ簡潔であるためです。更新されたコード:

sorted(
    [('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)],
    key=operator.itemgetter(1)
)
ログイン後にコピー

結論

2 番目の項目によるタプルの並べ替えは、Python の並べ替え機能を使用すると簡単です。 key 引数を効果的に使用する方法を理解することで、プログラマは特定の基準に基づいてデータ構造を効率的に並べ替えることができます。この記事では、直接的なソリューションと最適化されたアプローチの両方を提供し、開発者が特定のパフォーマンス要件に基づいて情報に基づいた意思決定を行えるようにします。

以上がPython でタプルのリストを 2 番目の項目で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート