ホームページ >バックエンド開発 >Python チュートリアル >Python でリストのリストを効率的に転置するにはどうすればよいですか?
リストのリストの転置: Python 的アプローチ
次のようなリストのリストがあるとします。
l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
それを転置することを目的としています。 in:
r = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
救済のための圧縮と解凍
Python には、複数のイテラブルを結合して、反復する zip オブジェクトを作成できる zip という強力なツールが用意されています。要素上で平行に。重要な洞察は、zip を使用してリストのリストを解凍し、結果のタプルをリストに変換することです。
Python 3 とジャグ テーブル
Python 3 の場合、次のようになります。 2 つのオプション:
list(map(list, zip(*l)))
このアプローチでは、ギザギザのテーブル (リストが
list(map(list, itertools.zip_longest(*l, fillvalue=None)))
これは、短いリストを None で埋めることによってギザギザのテーブルを処理します。
Python 2 と同種テーブル
Python 2 では、均質な場合には、より単純なアプローチがうまく機能します。テーブル:
map(list, zip(*l))
魔法の解明
プロセスを理解するには、Python 3 の最初のアプローチを検討してください:
ギザギザのテーブルの処理
itertools.zip_longest は、指定されたフィル値 (デフォルト: なし) で短いリストを埋めることによってギザギザのテーブルを処理します。これにより、転置された結果内のすべてのリストが同じ長さになることが保証されます。
結論
リストのリストの転置は、データ操作における一般的なタスクです。 zip の機能を活用し、その動作を理解することで、Python で効率的なソリューションを実装できます。
以上がPython でリストのリストを効率的に転置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。