[Python] listの行と列の参照方法

2021年6月12日土曜日

Python

ついつい忘れがちなPythonの2次元配列の行と列の参照方法を紹介します。



結論

Numpyを利用することなく、Pythonのlistの取り扱い方のみ記載します

2次元のlistから行を取得方法は下記のとおりです

スライスを利用する場合の注意点は
list[start:stop]においてstopの行を含まない点です

  1. mylist = [
  2. [1,2,3,4,5], # 0行目
  3. [11,12,13,14,15], # 1行目
  4. [21,22,23,24,25], # 2行目
  5. [31,32,33,34,35], # 3行目
  6. [41,42,43,44,45], # 4行目
  7. ]
  8.  
  9. print(mylist[0:1])
  10. # 0行目から1行目前を取得
  11. # [[1, 2, 3, 4, 5]]
  12.  
  13. print(mylist[2:])
  14. # 2行目以降を取得
  15. # [[21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45]]
  16.  
  17. print(mylist[:3])
  18. # 3行目前までを取得
  19. # [[1, 2, 3, 4, 5], [11, 12, 13, 14, 15], [21, 22, 23, 24, 25]]
  20.  
  21. print(mylist[-1])
  22. # 最終行を取得
  23. # [41, 42, 43, 44, 45]
  24.  
  25. print(mylist[2:-1])
  26. # 2行目から最終行前を取得
  27. # [[21, 22, 23, 24, 25], [31, 32, 33, 34, 35]]
  28.  

列を取得するには下記の通り取得します
直接的に参照する手段がないため
for 文の内包表記により取得します
  1. mylist = [
  2. [1,2,3,4,5], # 0行目
  3. [11,12,13,14,15], # 1行目
  4. [21,22,23,24,25], # 2行目
  5. [31,32,33,34,35], # 3行目
  6. [41,42,43,44,45], # 4行目
  7. ]
  8. print([row[0] for row in mylist])
  9. # 0列目を取得
  10. # [1, 11, 21, 31, 41]
  11.  
  12. print([row[-1] for row in mylist])
  13. # 最終列を取得
  14. # [5, 15, 25, 35, 45]

AIで副業ならココから!

まずは無料会員登録

プロフィール

メーカーで研究開発を行う現役エンジニア
組み込み機器開発や機会学習モデル開発に従事しています

本ブログでは最新AI技術を中心にソースコード付きでご紹介します


Twitter

カテゴリ

このブログを検索

ブログ アーカイブ

TeDokology