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

Python で対応するリストの値に基づいて 1 つのリストを並べ替えるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-19 08:30:10
オリジナル
597 人が閲覧しました

How Can I Sort One List Based on the Values of a Corresponding List in Python?

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

文字列のリスト (X) と対応する整数のリスト (Y) があります。 )。目標は、リスト Y の値に基づいてリスト X の文字列を並べ替えることです。この場合、必要な出力は次のようになります。

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

最短コード解決策

これを達成する最短の方法は、sorted 関数と zip 関数でリスト内包表記を使用することです。

[x for _, x in sorted(zip(Y, X))]
ログイン後にコピー

このコードは、リストをまとめて圧縮し、次に、最初の要素 (リスト Y の整数)。次に、ソートされたリストから 2 番目の要素 (リスト 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"]
ログイン後にコピー

全般解決策

より一般的な解決策は、カスタム キー関数でsorted関数を使用することです。

[x for _, x in sorted(zip(Y, X), key=lambda pair: pair[0])]
ログイン後にコピー

ここで、キー関数は、圧縮されたファイル内の各ペアから最初の要素を抽出します。リストを使用すると、リスト Y の整数に基づいて並べ替えることができます。

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

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