文字列を含む 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"]
説明:
さらなる説明:
sorted() 関数を使用すると、並べ替え基準を決定するキー関数を指定できます。この場合、key=lambda ペア: ペア[0] を使用して、最初の要素に基づいてタプルを並べ替えます。これにより、Y の対応する値に基づいて X が効果的に並べ替えられます。
以上が別のリストの対応する整数値に基づいて文字列のリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。