非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】配列(list)の縦横を入れ替える方法

   

配列の縦横を入れ替えるのはプログラミング言語によっては不可能(forループで別の配列に移植する方法しかない)なのですが、Pythonではnumpyを用いることで可能になります。

Pythonでの配列(list)の縦横を入れ替える方法はざっとこんな手順となります。

  1. 配列(list)を2次元配列化(もともと2次元配列ならそのまま)
  2. numpyに変換してT属性で縦横を入れ替える。
  3. 配列(list)に戻す。

ソースコードはこちらです。

import numpy as np

arr = ['東京都','北海道', '宮城県','愛知県']
# 2次元配列にする
arr2D = [arr]
print(arr2D)
# [['東京都', '北海道', '宮城県', '愛知県']]

# numpyにして縦横を入れ替える
arr2D_t = np.array(arr2D).T
print(arr2D_t)
# [['東京都']
  ['北海道']
  ['宮城県']
  ['愛知県']]

# numpy→配列(list)に戻す
print(arr2D_t.tolist())
# [['東京都'], ['北海道'], ['宮城県'], ['愛知県']]
 

 

2次元配列の場合はそのまま使えるので以下のようになります。

import numpy as np

arr2D = [['東京都','新宿区'],['北海道','札幌市'],['宮城県','仙台市'],['愛知県','名古屋市']]
arr2D_t = np.array(arr2D).T
print(arr2D_t.tolist())
# [['東京都', '北海道', '宮城県', '愛知県'], ['新宿区', '札幌市', '仙台市', '名古屋市']]
 

 

スポンサーリンク

 - Python