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

2021年6月12日土曜日

Python

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



結論

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

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

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

mylist = [
    [1,2,3,4,5],        # 0行目
    [11,12,13,14,15],   # 1行目
    [21,22,23,24,25],   # 2行目
    [31,32,33,34,35],   # 3行目
    [41,42,43,44,45],   # 4行目
    ]

print(mylist[0:1])
# 0行目から1行目前を取得
# [[1, 2, 3, 4, 5]]

print(mylist[2:])
# 2行目以降を取得
# [[21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45]]

print(mylist[:3])
# 3行目前までを取得
# [[1, 2, 3, 4, 5], [11, 12, 13, 14, 15], [21, 22, 23, 24, 25]]

print(mylist[-1])
# 最終行を取得
# [41, 42, 43, 44, 45]

print(mylist[2:-1])
# 2行目から最終行前を取得
# [[21, 22, 23, 24, 25], [31, 32, 33, 34, 35]]


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

print([row[-1] for row in mylist])
# 最終列を取得
# [5, 15, 25, 35, 45]

AIで副業ならココから!

まずは無料会員登録

プロフィール

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

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


Twitter

カテゴリ

このブログを検索

ブログ アーカイブ

TeDokology