ホームページ > バックエンド開発 > Python チュートリアル > 別のリストの対応する整数値に基づいて文字列のリストを並べ替えるにはどうすればよいですか?

別のリストの対応する整数値に基づいて文字列のリストを並べ替えるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-31 16:00:20
オリジナル
267 人が閲覧しました

How to Sort a List of Strings Based on Corresponding Integer Values in Another List?

別のリストの対応する値を使用したリストの並べ替え

文字列を含む X と整数を含む Y の 2 つのリストがある場合、X を対応する値に従って並べ替えることを目的とします。 Y は、同じ「キー」値を持つ要素の元の順序を維持します。 Python の組み込み関数を使用して、次の最適化されたソリューションを検討します:

[x for _, x insorted(zip(Y, X))]

例:

X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0,   1,   1,    0,   1,   2,   2,   0,   1]

Z = [x for _,x in sorted(zip(Y,X))]
print(Z)  # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
ログイン後にコピー

説明:

  1. zip(Y, X)タプルのリストを作成します。各タプルには、Y の要素と、Y の対応する要素が含まれます。 X.
  2. sorted(zip(Y, X)) は、最初の要素 (Y の値) に基づいてタプルのリストを並べ替えます。
  3. [x for _, x insorted(. ..)] は、ソートされたタプルのリストを反復処理し、最初の要素 (_) を破棄し、2 番目の要素のみを保持することにより、新しいリストを作成します。 (x).

さらなる説明:

sorted() 関数を使用すると、並べ替え基準を決定するキー関数を指定できます。この場合、key=lambda ペア: ペア[0] を使用して、最初の要素に基づいてタプルを並べ替えます。これにより、Y の対応する値に基づいて X が効果的に並べ替えられます。

以上が別のリストの対応する整数値に基づいて文字列のリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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