Python リスト(配列)・タプル

配列とリストの違いについて

配列とは、同じ型の要素を並べたデータ型のことです。各要素には0から順番にインデックスが割り振られています。ほかの言語では「array」として扱われていますが、Pythonにはありません。配列は、 ・宣言時に型の指定を必要とする。 ・構成する各要素の型が同じである必要がある。 pythonではリストというデータ型がこれに近く、上の二つの要因がないというのが大きな違いです。 ではリストについて学びましょう。

リスト

Pythonのリストは1つのリストに数値、文字列、リストなど様々な型のデータを格納出来ます。定数も変数も要素にすることが可能です。

lstには  [‘x’, ‘y’, ‘z’] lst2には [1, 2, 3.14, “a”, [‘x’, ‘y’, ‘z’]] が格納されます。 それではリストの操作について説明します。

 

リスト内要素の存在確認

リスト内に要素が存在しているか、いないかを確認することができます。 以下のコマンドを入力してください。

要素 in リストで存在を確認します。要素’x’はリストlstに存在しているので、

 

が返ります。存在しない場合はFalseが返ります。  

インデクシング

len(リスト)でリストの要素数を取り出すことができます。

lstは3つの要素から構成されているので

 

が返ります。 max(リスト)でリストの最大の要素、min(リスト)でリストの最小の要素を取り出すことができます。

が返ります。  

範囲指定し要素を差し替え

リストlst2=[1, 2, 3.14, “a”, lst]に対して以下のコマンドを入力します。

1番目の要素すなわち1から4-1=3つの要素を変更します。以下の通りに返ってきます。

 

要素を追加

リスト.append(要素)でリストに要素を追加できます。

以下の通り返ります。

 

要素を削除

リスト.remove(要素)でリストから要素を削除できます。

以下の通り返ります。

指定した要素が複数存在する場合は最初の要素だけが削除されます。また、存在しない要素を削除しようとした場合はエラーが発生しますので注意が必要です。

リストの逆順

リスト.reverse()でリストの要素の順番を逆にすることが出来ます。

以下の通り返ります。

 

リストのソート

リスト.sort()でリスト内の要素を順番に並べ替えることが出来ます。

以下の通り返ります。

 

タプル

タプルはリストに非常によく似ています。[ ] ではなく( )で括ります。リストはその内容を編集できるのに対して、タプルは編集できないという性質を持っています。これをイミュータブルと呼んでいます。  

タプルのメリット

なぜ、一度作成したら編集できない容器をわざわざ作るのか?という疑問がありますが、そのデメリットを差し置いてもメリットがあります。それは”高速”というメリットがあります。タプルは個々の要素を修正したり出し入れしたりすることがないのでその分稼働時にメモリが節約できます。特に膨大な数のデータをリストまたはタプルで処理する際、その差が非常に大きく出ます。 状況に応じて、リスト・タプルを使い分けていただければと思います。  

タプルの作成

()で括り、リストと同じように要素を技術します。

作成したタプルの内容が返ります。

型を確認しましょう。

型が返ります。

 

タプルの機能

all(タプル)で要素チェックを行い、Trueを返します。 any(タプル)で要素のどれかが真で要素のどれかが真であればTrueを返します。 enumerate(タプル)で列挙型オブジェクトを返します。 len(タプル)でタプル内の長さを返します。 max(タプル)でタプル内の最大の要素を返します。 min(タプル)でタプル内の最小の要素を返します。 sorted(タプル)でソートされたリストを返します。 sum(タプル)で要素の合計を返します。 tuple(タプル)で リストや辞書など他のデータ型をタプルへ変換します  

まとめ

リスト、タプルの基礎的な部分を学習いただきました。今後、エクセルやCSVのデータを使ってプログラムを作成するときは、使い方によってリスト、タプルを使い分けてください。