リストと配列って何が違うの?
リストの追加や削除、検索などを行いたい
リスト(配列)を使えば、複数の値をまとめて管理することができます。しかし、慣れないと使い方がわからなかったり、追加や検索などちょっとした応用的な使い方がわからない・・・といったことがおきてしまいますね。
そのような方に向けてこの記事では、リスト(配列)の概要や実際の使い方についてわかりやすく解説していきます。
この記事はこんな方のために書きました
- リスト(配列)の基本が知りたい方
- リストと配列の違いが知りたい方
- リスト(配列)の基本を抑えて置きたい方
リスト(配列)について、わかりやすく解説していますので、ぜひ参考にしてください!
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
Pythonの配列とは
皆さんはPythonにて配列を使った事がありますか?そもそも、配列が何か知っていますか? 配列とは、同じ型の要素を一列に並べたデータ型の事です。
このようにデータのかたまりのようなものが配列で、一度に多くの連続したデータを扱うことができます。各要素には0から順番にインデックスという数字が割り振られています。
リストと配列の違いとは
前項で紹介した配列という言葉は、実はPythonには存在しません。他の言語で「配列(array)」と呼ぶものを、Pythonではリスト(list)と呼びます。
Pythonではリストが配列の役割を担っています。配列との主な違いは、以下となります。
- 他の言語のように宣言時に型を指定する必要がない
- 構成する各要素の型が違っていても成り立つ
以降、Pythonにおける配列をリストと呼びます。
リストの使い方5つのステップ
リストの基本的な使い方
では、最初にリストの基本的な操作方法をご紹介します。まずは、リストを作成してみましょう。リストとは、[ ]の中にカンマで区切られた要素で構成されたものです。以下のコードをご覧ください。
mylist = [1,2,3,4]
上記コードでは、mylistというリストを宣言してint型の要素を追加しました。リストの初期化を行うには以下のようにコードを書きます。
mylist = []
ご覧いただけるように、[ ] の中身を空で宣言するとリストが初期化されます。リストの要素を一つずつprint関数などで表示したい時は、for文を使用すると便利です。
以下のコードをご覧ください
fruits = ['apple', 'orange', 'banana', 'melon'] for name in fruits: print(name)
実行結果:
apple orange banana melon
このようにリストの要素が順番に出力されていますね。for分でリストを使用するときは「for 変数 in 配列」のように記述します。for文の詳しい使用方法については以下のリンクを参照してください。
リスト内包表記とは
リスト内包表記とは、既存のリストをベースに新しいリストを作る際に便利な記法です。
for文などを使用した長く読みづらいコードを簡潔にまとめることが出来ます。また、実行速度がリスト内包表記を使わない場合と比べて速くなる場合もあります。では、基本的な使い方をご紹介したいと思います。
以下のコードをご覧ください。
base = [1,2,3,4] new = [i*2 for i in base] print(new)
出力結果は以下の通りです。
[2,4,6,8]
上記コードでは、baseというリストを元にnewという新たなリストを作成してみました。newの要素は、baseの各要素を二倍にしたものです。ご覧いただけるように、newの宣言の際 [ ] 括弧の中にfor文のようなものを当てはめています。
これがリスト内包表記というものです。括弧のなかに通常のforループと同じ文(for 要素 in リスト)を書き、その手前には新しいリストの各要素の値を記入します。このサンプルコードの場合、i*2が各要素の値です。リスト内包表記を活用出来るととても便利なので、ぜひ覚えておきましょう。
要素の追加と削除
既存のリストに新たな要素を追加するには、以下のようにコードを書きます。
mylist = [1,2,3,4] mylist.append(5) print(mylist)
出力結果は以下の通りです。
[1, 2, 3, 4, 5]
上記コードでは、appendメソッドを使用してmylistに要素を追加しました。appendメソッドは引数に追加したい要素の値を要します。ご覧いただけるように、きちんと新たな要素がmylistに追加されましたね。
既存のリストからある特定の要素を削除するには、いくつかの方法があります。一番よく使われているのは、removeメソッドです。
以下のコードをご覧ください。
mylist = [1,2,3,4,5] mylist.remove(5) print(mylist)
出力結果は以下の通りです。
[1, 2, 3, 4]
上記コードでは、removeメソッドを使用し要素を一つ削除しました。removeメソッドは引数に削除したい要素の値を指定します。removeメソッドの他にも、popメソッドを使用することが出来ます。popメソッドは指定したインデックスの要素を削除します。
値ではなくリスト内の特定のインデックスを削除したい場合に活躍します。以下のコードをご覧ください。
mylist = [1,2,3,4,5] deleted = mylist.pop(4) print(mylist) print(deleted)
[1,2,3,4] 5
上記コードでは、popメソッドを使用しインデックス4番目の要素を削除しました。ご覧いただけるように、popメソッド作動後のリストを表示させると、正常に値5が削除されたことが確認出来ます。
また、popメソッドは戻り値として削除した要素の値を返します。deleted変数にpopメソッドの戻り値を格納させた後それをprint関数で表示させると、削除された要素の値5が出力されました。
要素の検索
リストにある要素が入っているかどうかを調べるときには、in演算子を使うことができます。以下のコードをご覧ください。
mylist = [1,2,3,4,5] print(3 in mylist) print(6 in mylist)
出力結果は以下の通りです。
True False
上記コードでは、in演算子を使用し、値3の要素と値6の要素が存在するかを確かめてみました。3はmylistに含まれているので、Trueと表示されました。6はmylistに含まれていないので、Falseと表示されました。
リストのサイズを取得する
リストのサイズ(要素数)を取得するにはlen()を使用します。lenの引数にはリストを指定します。以下のコードをご覧ください。
mylist = [1,2,3,4,5] print(len(mylist))
出力結果は以下のとおりです。
5
このようにlen()を使用すれば、リストのサイズを簡単に取得できることがわかりますね! なお、len()はリストが空の場合は0を返します。そのため、リストに要素が入っているか確認したいときでもlen()を使用すると便利です!
リストの使い方まとめ
ここではリストの使い方について簡単におさらいしておきましょう。リストは以下のように変数を指定して角括弧[]の中に、値を記述します。
リストの書式:
リスト変数 = [値1, 値2, 値3, 値4, …]
実際にリストを定義して値が格納されているか、確認してみましょう。
サンプルプログラム1(リストの定義):
mylist = [1,2,3,4] print(mylist)
[1, 2, 3, 4]
このように定義したリストの内容を確認できることがわかりますね!また、リストの要素を1つずつ表示する場合は、for文を使用すると便利です。
サンプルプログラム2(リストの要素を順番に表示する):
fruits = ['apple', 'orange', 'banana', 'melon'] for name in fruits: print(name)
apple orange banana melon
このように「for 変数 in 配列」を指定すれば、変数に配列の要素ごとに値が格納されます。
まとめ
今回はPythonにおける基本的なリストの使い方と、その活用法について以下の内容で解説しました。
- リストと配列の違いとは
- リストの基本的な使い方
- リストの内包表記とは
- 要素の追加と削除
- 要素の検索
- 配列の使い方まとめ
リストは変数や繰り返し処理同様最も基本的な処理となりますので、使い方についてはしっかりと理解しておきましょう。
なお、今Pythonを学習している方は以下の記事もどうぞ。
はじめてPythonを使う方でもわかりやすいように、Pythonでできることやその学習法などを中心にまとめています。
復習にも使えると思いますので、ぜひ一度ご覧になってみてくださいね。
【Python 入門完全攻略ガイド】