バナナでもわかる話

開設当初は計量経済学・統計学が専門の大学院生でした。今はデータを扱うお仕事をしています。統計学・経済学・投資理論・マーケティング等々に関する勉強・解説ブログ。ときどき趣味も。極力数式は使わずイメージで説明出来るよう心掛けていますが、時々暴走します。

python入門 リストの処理

pythonには、リストというデータ構造が存在します。

今回は、リストの基本的な処理についてまとめていきます。


目次

スポンサーリンク


リスト

まず、適当にリストを作ります。

ListSample0 = ["X","Y","Z"]

このように大括弧を使うと、リストが出力されます。一応ちゃんとリストになっているか確認

In : type(ListSample0)
Out : list

ちなみに、リストの要素は異なったものを入れることもできますし、リストの中にリストを入れることもできます。

リストの参照と取り出し

リストの中の値を取り出すときは、インデックスを指定してやります(0始まりです)。

In : ListSample0[0]
Out : 'X'

ちなみに、スライスした場合は、リストのままで出てきます。

In : ListSample0[0:1]
Out : ['X']

In : ListSample0[0:3]
Out : ['X', 'Y', 'Z']

代入するときも、インデックスを指定するだけでいけます。
以下は「<-」で代入していますが、python2の場合「=」を使わないとエラーが出るので注意。

In : LS0 <- ListSample0
     LS0[1] <- "YYY"
     print(LS0)
Out : ['X', 'YYY', 'Z']

リストを扱うメソッド

リストの要素の追加

リストは要素を変更したり、削除したり、追加したりすることができます。
追加を行う場合、インデックスを使うとエラーが出ます。

この場合はappendメソッドを使いましょう。

In : LS0.append("A")
     print(LS0)
Out : ['X', 'YYY', 'Z', 'A']

インデックスを指定して、挿入したい場合はinsertメソッドを利用します。

In : print(ListSample)
Out : ['X', 'Y', 'Z']

In : ListSample.insert(1,"YYY")
     print(ListSample)
Out : ['X', 'YYY', 'Y', 'Z']
リスト同士の結合

リストが2つあるような場合を考えます。

In : LS2 <- [1,2,3]
     print(LS0,LS2)
Out : ['X', 'YYY', 'Z', 'A'] [1, 2, 3]

この2つをくっつけて一つのリストにしたい場合、extendメソッドを利用します。

In : LS2.extend(LS0)
    print(LS2)
Out : [1, 2, 3, 'X', 'YYY', 'Z', 'A']

ちなみに、+=でもいけます。

In : LS2+=LS2
     print(LS2)
Out : [1, 2, 3, 'X', 'YYY', 'Z', 'A', 1, 2, 3, 'X', 'YYY', 'Z', 'A']
要素の削除

削除したい場合は、del またはremoveを利用します。
delでは、インデックスを指定して次のように利用します。

In : print(LS0)
Out : ['X', 'YYY', 'Z', 'A']

In : del LS0[2]
     print(LS0)
Out : ['X', 'YYY', 'A']


removeでは、値を直接入力します。

In : LS0.remove("YYY")
     print(LS0)
Out : ['X', 'A']


ちなみに、取り出して削除することもできます。

In : x=LS0.pop(0)
     print(LS0)
Out : ['A']

In : print(x)
Out : 'X'
並び替える

昇順に並び替えることもできます。

In : LS3 = [3,2,5,5,4]
     print(LS3.sort())
Out : [2, 3, 4, 5, 5]