メモはどこへ行った

自分用のメモです。

Python でリストを転置する

"Python でリストを転置する" についてのメモです。

要点

  • 2次元のリストを展開して zip() すると、転置することができる。
>>> aList = [[11, 12, 13], [21, 22, 23]]
>>> list(zip(*aList))
[(11, 21), (12, 22), (13, 23)]

原理

  • 関数に複数の引数を渡す時、リスト名に * をつけると、展開され各要素が引数として渡される。
>>> aList = [[11, 12], [21, 22]]
>>> '1個めは {} で、2個めは {} です。'.format(*aList)
'1個めは [11, 12] で、2個めは [21, 22] です。'
  • zip() 関数に複数のリスト (イテラブル) を渡すと、各リストの i 番目の要素同士をタプルにして返すイテレータとなる。
>>> listA = ['a1', 'a2', 'a3']
>>> listB = ['b1', 'b2', 'b3']
>>> list(zip(listA, listB))
[('a1', 'b1'), ('a2', 'b2'), ('a3', 'b3')]