Python入門!!リスト(配列)とは?その作成と使い方。

python などを使ったデータ分析では、数値や文字列の管理を効率的に行う必要があります。

そのために使われるのが、「リスト(配列)」といわれるものです。

でもリストと聞いてイメージできるものって何でしょうか。

エクセルのスプレッドシートを思い浮かべてもらえれば、イメージがわきやすいかもしれません。

しかしスプレッドシートといっても数値のリストや文字列のリストなど、数値と文字列が同時に入っているものなど様々なタイプのリスト(配列)がありますよね。

Pythonはそんな数値と文字列のリストなど、どんな形のリストでも管理することができるのが特徴です。

プログラミングの無料体験レッスンはこちら↓↓↓。


Pythonを使ったリストの定義と使い方

Python を使ったリストの定義の方法は角括弧([])を使います。

例:[要素0, 要素1, 要素2, ….]

こんな感じでリストを定義していきますので、打ち込むという手間がなければいくらでも長いリストを定義することができます。

ではリストを定義して、しかもグラフにしてみましょう。

リスト定義の仕方

「tokyo_temps」というリストを定義していますが、数字は適当にいれているので実際の東京の気温ではありません。

tokyo_temps = [15.9, 15.8, 16.7, 15.3, 15.4, 15.2, 17.2, 15.5, 17.2]

「tokyo_temps」というリストを定義しました。

9個の要素数を定義していますが、これだとなんだかよくわからないのでもっと視覚に訴えるためにこの数値をグラフ化してみましょう。

東京の気温に限らず実際の数値を使うと、数値の変化が視覚的にとらえることができますので、もし手ごろな数字があったら是非試してみてください。

Pythonのライブラリ「matplotlib」を使うとグラフ化が簡単にできますね。

matplotlib inline
import matplotlib.pyplot as plt
plt.plot(tokyo_temps)

適当な数字を使ったリストだったので、グラフも適当になっていますが以下のようにグラフを書くことで、リスト(配列)を視覚でとらえることができるようになります。

リストってこんなもんだということが何となくわかったでしょうか。

要は文字列や、数値をデータとして取り扱うために定義する方法といえますね。

リスト(配列)の操作方法

ではリストの使い方をもう少し細かく見ていきましょう。

リストの中から数字を抽出しなければならないことがあるかと思います。

例えば「tokyo_temp」の一番目の数値がほしいとか、5番目の数値がほしいなどの場合「インデックスを使って簡単に数値をとりだすことができます。

Pythonのリストで定義された文字列には「0,1,2,3,4….」という具合にインデックス付けされています。

つまり1番目の数値には「0」、2番目は「1」という具合に0から始まるインデックスのルールがあるんです。

では「tokyo_temp」のリスト(配列)を使って二つ数値を抽出してみましょう。

tokyo_temps[0]
15.9
tokyo_temps[4]
15.4

1番目と5番目の数値が抽出されましたね。

この方法を使うことで、自分が指定したリスト内の数値を簡単に呼び出し、確認することができます。

リスト内での計算、比較

また、リスト内での比較や計算をすることもできます。

たとえば下の例。

tokyo_temps[5]-tokyo_temps[0]
 -0.7000000000000011

6番目の数値から1番目の数値を引いた数の答えが「-0.700000…」という具合に返されます。

そして例えばリストの一番最後の数値を指定したい場合はインデックス番号[-1]を指定することでどれだけリストが長くても関係がなく最後の数値を指定することができます。

ちなみに一番最後の数値から一番最初の数値を引く計算は下のように定義できます。

tokyo_temps[-1]-tokyo_temps[0]
1.299999999999999

ではいままであったリスト(配列)にさらに数値を追加し、新しいリストを作成するにはどうすればいいでしょうか。

答えは意外と簡単で、単純に足し算してしまえばいいんですね。

例えば「e_tokyo_temp」という新しいリストを足し算する場合、以下のようになります。

e_tokyo_temps=[14.6, 14.3, 15.2]
tokyo_temps2=e_tokyo_temps+tokyo_temps
plt.plot(tokyo_temps2)

グラフで表すと下のようになり新しいリストが作成されていることがわかります。

リストの書き換え、削除

一度出来上がったリストを書き換えたり内容を削除したりするなどの作業も簡単に行うことができます。

例えば、下のリスト。

名前のリストを作って、4番めの名前を抽出してみました。

name=["Steve", "James", "Paul", "George", "John", "Patric", "Luca"]
name[3]
'George'

リスト上では3番のインデックスを持つ4番目の名前は「George」です。

リストの書き換えと要素の削除

では実際にリスト上の名前を書き替えてみましょう。

4番のインデックスを持つ5番目の「John」を「Luis」に書き換えましょう。

name[4]='Luis'
name
['Steve', 'James', 'Paul', 'George', 'Luis', 'Patric', 'Luca']

書き変わっていますね。

かんたんな操作で、リストを書き換えることが可能ということがわかりました。

書き換えの次は削除です。

インデックス番号0番の1番目の名前は「Steve」です。

これを削除するには、下記のように記述します。

del name[0]
name
['James', 'Paul', 'George', 'Luis', 'Patric', 'Luca']

「Steve」が削除されています。

スライスでリストから要素を抜き出す

作成したリストの中から指定した要素を抜き出すことができますが、Pythonではリストの中から連続した要素を指定して抜き出すことも可能です。

連続した要素を指定して抜き出すことで例えば、1995年から2000年のデータだけを抜き出すというようなことも可能になります。

下の例を使ってみてみましょう。

name=["Steve","George", "James","Paul","John", "Patric", "Luca"]
name
['Steve', 'George', 'James', 'Paul', 'John', 'Patric', 'Luca']

「name」リストを作ったのでそれを使って指定した区間の要素を抜き出してみましょう。

この方法はスライスという機能を使って行いますので早速やってみましょう。

表記方法は以下のようになります。

リスト名[最初の要素のインデックス:最後の要素のインデックス+1]

最後の要素になぜ1を足すのでしょうか?

そこが少し疑問ですが、とりあえずここはそういうものだと割り切って実際に要素を取りだしてみましょう。

2番目から4番目の要素を取り出してみると、以下のようになります。

Saints = name[1:5]
Saints
['George', 'James', 'Paul', 'John']

要素の2番目はインデックスの1番目「George」そしてインデックス4番目の「John」が抽出されました。

では新しく作られた、「Saints」リストからさらにスライスで最初から3番目までの要素を抽出してみましょう。

この場合最初のインデックス番号を省略して[:3]と書くことができます。

Saints[:3]
['George', 'James', 'Paul']

この表記をすることで、最初から3番目までの要素を抜き出すことができました。

Pythonリスト(配列)って意外と勉強することが多いのですが、プログラミングがさらに複雑になるともっと重要になってくると思うので、しっかりと身に着けたいですね。

プログラミングの無料体験レッスンはこちら↓↓↓。


  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.