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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 22:15:14466ブラウズ

How to Sort a List of Strings Based on Values in a Parallel List?

並列リストの値に基づいてリストを並べ替える

次のシナリオを考えてみましょう: 文字列のリスト X と、対応する値のリスト Y があります。あなたのタスクは、Y の値を使用して X を並べ替えることです。たとえば、

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

を取得することを目指しています。ソートされた出力:

["a", "d", "h", "b", "c", "e", "i", "f", "g"]

ループを使用する従来のアプローチも有効ですが、簡潔な解決策が存在します:

[x for _, x in sorted(zip(Y, X))]

このコード:

  1. Zips 2 つのリスト Y と X、タプルのリストを作成します: [(0, 'a'), (1, 'b'), ... (2, 'g')].
  2. Y の値を並べ替えキーとして使用して圧縮リストを並べ替えます .
  3. リストを使用して各タプル (文字列) の 2 番目の要素を抽出します

結果は、希望の順序でソートされた文字列のリストです。

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

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