こんにちは。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まとまりのデータとして扱うことになります。
<今日の要約ノート>
・複数のデータを表のようにまとめて扱うには、リストを使う。複数の項目を[ ]でくくって、それぞれをカンマ(,)で区切れば、リストとして扱われる。単に表として項目が並ぶだけでなく、追加や修正、並べ替えや複製などいろいろ操作できるので、大量のデータを扱う時には便利。
コメント
[…] ・複数のデータを便利に扱えるリスト(List)を使ってみよう […]