複数のデータを便利に扱えるリスト(List)を使ってみよう

プログラミングの基礎

こんにちは。IT/経済ジャーナリストで投資家の渡辺です。

さて、今回はPython独自の面白い機能を学習してみます。

すでに数値や文字の置き場所であり、計算したりデータ処理するのに、変数を使うと柔軟にコンピュータらしい動作が実現できることを学習しました。

その変数の中でも、まとまった情報を1つのグループとして扱う時に便利な機能がPythonにはいくつかあります。

その中でもっとも基本的なListを使ってみましょう。

今まで変数は、このような数字や文字を入れる箱として、扱ってきました。

また複数の文字からできた単語や語句は「文字列」と呼ばれますが、これも大きめの長い箱として扱ってきました。

これに対して、関連のある複数の数値や文字、文字列を1つのグループとして、まとめて扱うことができます。

 

リストを作ってみる

これをリスト(List)といいます。

複数の項目を[ ] でくくり「,」(カンマ)で区切ります。

中カッコでくくった内側がグループとなります。

たとえば、単純に3の倍数をリストにしてみます。

このグループ全体が変数グループですから、名前を付けます。

mylist1 = [0, 3, 6, 9, 12]

これは整数の集まりなので、後で計算することもできます。

また、’ ‘あるいは“ “でくくれば、文字や文字列でリストにすることもできます。

mylist2 = [“Lions”, “Fighters”, “Hawks”, “Marines”, “Buffaloes”]

そのままprint()文を実行すると、リストの中身が全部表示されます。

print(mylist1)
print(mylist2)

以下のように、最初に設定したグループ内の各項目がそのまま出力されました。

今、大きな箱の中に、小さな箱が順番通りに並んでいるとイメージできればOKです。

箱の名前はmylist2

 

リストの表に対して操作する

リストに対して、ある位置にある項目(「要素」)を場所を指定して取り出すことができます。

それぞれの要素は、順番に番号が振られています。

1つ知っておいてほしいのですが、人間の感覚だと数字は1から数えますが、コンピュータの世界では0から始めるのが通例です。

なので、以下のように、リストの右側に中カッコで順番[3]を指定します。

print(mylist2[3])

3を指定したので、0, 1, 2, 3と前から4番目の要素が出力されました。

箱の順番は、以下のようになります。

 

項目の追加や削除

このグループは1度作ればそれっきり、ということはなく、それぞれの項目の中身を上書きしたり、後から追加したり、といろいろなことができます。

たとえば、先ほどのmylist2のグループですが、中身はプロ野球パ・リーグのチームですが、楽天が入っていません

(別に嫌いな訳でなく、執筆時に最下位だったので選びました。単なる例示なので気にしないでください)。

このグループに情報を追加するには、以下のようにします。

mylist2.append(“Golden Eagles”)

実際に追加されたか、またprint()文で確認してください。

print(mylist2)

きちんと6球団になりました。

本当に6球団あるかは、このリスト(mylist2)の中身の個数を表示させて、確認できます。

要素の個数を返すlen()という関数を、以下のように使います。

len(mylist2)

この表記をprint()文で出力すれば、何個あるかわかります。

print( len(mylist2) )

 

リストの操作

リスト自体を足し算でつなげたり、掛け算で繰り返して表示させたりもできます。

以下のように足し算や掛け算してみてください。

print( mylist1 + mylist2 )
print( mylist2 * 3)

全部の項目が合体したり、あるいはリストの内容が繰り返して出力されたかと思います。

さらに、ABC順、または逆順でソート(並び替え)させることもできます。

まず先ほど作ったmylist2を並べ替えさせてみましょう。

mylist2.sort()
mylist2.reverse()

ところが結果が返ってきません。noneになっています。

これはこの関数がメモリの中身を入れ替えているだけで、そのまま表示はできないからです。

ということで、面倒ですが、いったんsort()やreverse()を掛けて、そこからあらためて別の行でprint()文で表示させます。

ちょっと面倒ですが、何とかできました。

 

なかなか盛りだくさんなリストの使い方ですが、シンプルなデータベースみたいな感じで、これを使いこなせば、プログラムを整然と書けて、けっこう便利です

コンピュータでは統計の表みたいに、ずらーっと大量に並んだデータを合計したり平均出したり、標準偏差を出したりして扱うことがよくあります。

その時は1つ1つ変数を作るのは非効率なので、リストを使って1まとまりのデータとして扱うことになります。

 

<今日の要約ノート>

・複数のデータを表のようにまとめて扱うには、リストを使う。複数の項目を[ ]でくくって、それぞれをカンマ(,)で区切れば、リストとして扱われる。単に表として項目が並ぶだけでなく、追加や修正、並べ替えや複製などいろいろ操作できるので、大量のデータを扱う時には便利。

コメント

  1. […] ・複数のデータを便利に扱えるリスト(List)を使ってみよう […]

タイトルとURLをコピーしました