ホームページ >バックエンド開発 >Python チュートリアル >Python で整列を維持しながら複数のリストを並べ替えるにはどうすればよいですか?
複数の並列リストを操作する場合、他のリストの要素の対応する順序を維持しながら 1 つのリストを並べ替える必要がある場合があります。これを達成するために、2 つの古典的なアプローチを紹介します。
この手法は、複数のリストの要素を結合する Python の組み込み zip 関数を使用してタスクを簡素化します。タプルへ:
list1 = [3, 2, 4, 1, 1] list2 = ['three', 'two', 'four', 'one', 'one2'] list1, list2 = zip(*sorted(zip(list1, list2)))
最初の要素 (list1) でタプルをソートした後、順序は両方のリストに適用されます。
速度を向上させるために、インプレース並べ替えアプローチを使用できます。
tups = zip(list1, list2) tups.sort() result1, result2 = zip(*tups)
通常、このアプローチの方が優れたパフォーマンスを発揮します。小さなリストの場合は 1 行バージョンですが、Python の最適化された zip により大きなリストの場合と同等になります。
list1 = [3, 2, 4, 1, 1] list2 = [num * num for num in list1] result1, result2 = zip(*sorted(zip(list1, list2), key=lambda x: x[0]))
以上がPython で整列を維持しながら複数のリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。