Python【Python入門】配列(array、list)を使おう侍テック編集部2018/5/252019/4/17今回は、Pythonの意外なつまずきポイントである配列(リスト)について説明します。配列やリストと呼ばれるデータ構造があると聞いたんだけど?配列、リスト、NumPyといろいろあるけど、結局どうやって使い分ければいいの?といった疑問に答えています。最後には、たくさんの記事を紹介していますので、1つ1つ試してみると配列やリストではこんなことができるのか!というところを感じていただけます。まとめ配列(リスト)を使うと同じようなデータをまとめて扱える言葉の説明から始めましょう。皆さんは、日常生活で配列と聞いて何を思いつきますか。私は、プログラムの勉強を始めたときに、何も思いつかなかったことを良く覚えています。配列は、完全にプログラミング関連の専門用語で初心者にはまったく理解できない言葉と言っていいでしょう。リストと聞いて何を思いつきますか。私は買い物チェックリスト(今なら、ほしい物リストでしょうか)が思いつきました。正月に食べるおせち料理は、以下のようにチェックリストにして忘れないように買いますよね(しませんか?)かまぼこ伊達巻き栗きんとん昆布巻きそう考えるとリストは、日常で使われる言葉といって良さそうです。そこでこの記事では、Pythonのlist型オブジェクトのことを、単にリストと呼ぶことにします。Pythonのリストも買い物チェックリストのようなデータをまとめて扱うのに適しています。"昆布巻き"]と定義したリストを、print(checklist)の一文だけで、まとめて表示できました。ここで、もう少し言葉を決めておきましょう。買い物チェックリスト全体(1枚の紙に書いたのであれば、その紙のこと)を、1つのリストと呼びます。2枚になるなら、2つのリストです。紙に書いた1つ1つの商品のことを、1つの要素と呼びます。かまぼこが1つの要素です。先ほどの買い物チェックリストには4つの要素が入っているわけです。リストと要素はこれから良く目にすることになりますので、よく覚えておきましょう。リストを扱う2つの方法さて、本題に戻りましょう。Pythonで配列のようなデータを扱うには、以下の2つの方法が有名です。Python標準のリスト(list)NumPyの配列(Numpy.ndarray)では、Python標準のリスト(list)と、NumPyの配列(Numpy.ndarray)は、どのように使い分けると良いでしょうか。要素1つ1つが大事ならPython標準のリスト(list)要素の1つ1つが大事なら、Python標準のリスト(list)が良いでしょう。要素を1つ追加したり、1つ削除したりといった操作が多くなりそうであれば、Python標準のリスト(list)がオススメです。考えると、上で紹介した買い物チェックリストのような場合は、Python標準のリスト(list)が良いことになりますね。このような場合でもNymPyのリスト(Numpy.ndarray)を使えます。効率を追求するなら、NumPyのリスト(Numpy.ndarray)を検討した方がいいでしょう。リスト全体が大事ならNumPyの配列(Numpy.ndarray)一方、要素ではなく配列全体が大事なら、NumPyの配列がおすすめです。4月の最高気温を格納するといった場合です。1日ごとの最高気温を気にしてもあまり意味は見いだせませんが、4月全体で最高気温の変動を見ると徐々に気温が上がっていく...わけでもなく、あまり変化しないことがわかりそうです。試しにグラフにしてみましょう。temp)でグラフに点と線をまとめて描いています。リストの使い方を見ていこうざっくりとした使い分けは伝わったと思いますので、ここからは少し具体的に、リストをどのように操作するのかを紹介します。いえ、リストの操作方法は多岐にわたり、この記事だけでは説明しきれませんので、侍エンジニア塾ブログの他記事を紹介することにします。Python標準のリスト(list)と、NumPyの配列(numpy.ndarray)の基本的な操作方法を紹介した記事です。どちらも同じように扱えることがわかります。2019年8月6日Python標準のリスト(list)の使い方Python標準のリスト(list)の初期化方法や、要素の追加/削除、要素の検索など、基本的な操作方法を説明しています。2019年7月30日Python標準のリスト(list)の要素を1つ1つ見て行くにはfor文を使うのが一般的です。2018年10月30日Python標準のリスト(list)の要素を数えるにはlen関数を使いますが、それよりも高度な数え方をしたいときは、Counterを使います。2018年11月5日Python標準のリスト(list)は、タプルに変換したり、タプルからPython標準のリスト(list)に変換したりできます。文字列を空白など任意の文字列で区切って、Python標準のリスト(list)に格納することもできます。単語1つ1つに注目したい場合によく使われる手法です。逆に、Python標準のリスト(list)に文字列を格納しておき、join()で連結する方法もあります。2019年5月5日NumPyの配列(numpy.ndarray)の使い方NumPyの基本的な使い方を説明した記事で、NumPyの配列(numpy.ndarray)も説明されています。2018年11月20日NumPyの配列(numpy.ndarray)を元にグラフを描画する場合は、matplotlibライブラリを使います。さりげなくこの記事でも使いました。2019年2月14日このほか、TensorFlowなど機械学習系のライブラリでもNumPyの配列(numpy.ndarray)が使われることがあります。使用するリスト・配列の種類は、使用するライブラリにあわせて、十分に検討する必要があります。まとめPythonでは、配列(array)やリスト(list)と呼ばれるデータ構造は、Python標準のリスト(list)とNumPyの配列(numpy.ndarray)があること、さらにはその使い分けの方針を簡単に説明しました。買い物チェックリストのように要素の1つ1つが大事ならPython標準のリスト(list)が良く、4月の気温のようにリスト全体が大事ならNumPyのリスト(numpy.ndarray)がおすすめでした。その他にも、使用するライブラリによってNumPyのリスト(numpy.ndarray)を使わないといけない場合もありました。結論は至極当たり前なのですが、最終的な目的を見据えて、どちらのリストを使うか検討してくださいね。TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。