[解決済み】リストの転置
2022-03-28 19:53:33
質問
取ろう。
l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
私が求めている結果は
r = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
であって
r = [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
ありがとうございました。
解決方法は?
Python 3:
# short circuits at shortest nested list if table is jagged:
list(map(list, zip(*l)))
# discards no data if jagged and fills short nested lists with None
list(map(list, itertools.zip_longest(*l, fillvalue=None)))
Python 2です。
map(list, zip(*l))
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
説明する。
現状を把握するために必要なことは2つあります。
-
のシグネチャは
zip
:
zip(*iterables)
これはつまりzip
は任意の数の引数を期待し、各引数は反復可能でなければならない。例えばzip([1, 2], [3, 4], [5, 6])
. -
解凍された引数リスト
: 引数の列が与えられたとき
args
,f(*args)
を呼び出します。f
の各要素がargs
の個別の位置引数です。f
. -
itertools.zip_longest
は、ネストしたリストの要素数が同じでない (均質でない) 場合はデータを破棄せず、代わりに短い方のネストしたリストを埋めます では をzipで圧縮します。
質問からの入力に戻ります
l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
,
zip(*l)
は次のようになります。
zip([1, 2, 3], [4, 5, 6], [7, 8, 9])
. あとは、結果がタプルのリストではなく、リストのリストであることを確認するだけです。
関連
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
任意波形を生成してtxtで保存するためのPython実装
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] データ型が理解できない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] Pythonで行列の転置 [重複] を行う