実務に生かすPythonサンプル

Pythonでリストを検索する方法【実務で使える実例も紹介します】

こんにちは。現役Webエンジニアの三年坊主です。

 

今回は、Pythonでリストを検索する方法を知りたい人の、このような疑問に答えます。

 

「Pythonでリストを検索する方法を知りたい。ある要素がリストに含まれているのか、どうやって調べようか。含まれているならどこに含まれているのか?同じ要素が複数回含まれているときの対応法は?」

 

 

この記事では、大学の研究・自分の趣味・業務で合わせて5年以上Pythonを使ってきた経験を生かして、Pythonでリストを検索する方法を紹介します。

 

この記事の内容

  • 要素の検索(in演算子)
  • 要素の検索(indexメソッド)
  • 要素の検索(countメソッド)
  • リストの要素が重複しているとき
  • 実務で使えるリストの検索

 

要素の検索(in演算子)

ある要素がリストに含まれているかどうか知りたいときに、in演算子を使って調べることができます。

演算子 in および not in は、帰属 (membership) を調べます。 x in s の評価は、 x が s の要素であれば True となり、そうでなければ False となります。

6.10.2. 帰属検査演算

 

出力結果

 

 

要素の検索(indexメソッド)

要素のインデックス(リストの何番目の要素か)を知りたいとき、indexメソッドを使って検索することができます。

演算結果
s.index(x[, i[, j]])s 中で x が最初に出現するインデックス (インデックス i 以降からインデックス j までの範囲)

4.6.1. 共通のシーケンス演算

 

出力結果

 

出力結果

 

要素の検索(countメソッド)

リストに含まれる要素の個数を知りたいとき、countメソッドを使うことができます。

演算結果
s.count(x)s 中に x が出現する回数

4.6.1. 共通のシーケンス演算

 

出力結果

 

リストの要素が重複しているとき

リストに同じ値が複数含まれているとき、そのすべてのインデックスを取得するには、組み込み関数のenumerateを使ってインデックスと値のペアを確認しながら、条件に合う要素を取り出します

enumerate(iterable, start=0)

enumerate オブジェクトを返します。 iterable は、シーケンスか iterator か、あるいはイテレーションをサポートするその他のオブジェクトでなければなりません。

(中略)

2. 組み込み関数

 

出力結果

 

 

実務で使えるリストの検索

Pythonでのリスト検索が使われる場面をより具体的にイメージするために、今回説明した「リストの検索」を業務や趣味プログラミングで実際に活用した例をいくつか紹介します

 

システムのステータスに応じて処理を行う(in演算子)

出力結果

 

HTTPレスポンスに必要なフィールドが含まれるか確認する(in演算子)

requestsライブラリでHTTPリクエストを作成して、そのレスポンスに必要なフィールドが含まれるか確認します。

 

出力結果

 

指定したヘッダーがリストの何番目にあるか(indexメソッド)

Pythonでcsvファイルの読み込みで紹介したcsv.readerを使うときなど、指定したヘッダーがリストの何番目にあるか検索しておいて、そのインデックスをあとで使うことができます。

 

出力結果

 

 

Pythonでリストを検索する方法を身につけて、明日から実務で活躍できるエンジニアになりましょう。

 

より本格的にPythonを学ぶなら

より本格的にPythonを学びたい場合には、プログラミングスクールを活用するのがオススメです。

プログラミングスクールって、「プログラミングって何?」みたいな超初心者だけのものと思っていませんか?

最近では、経験者向けにも、レベルや希望に合わせた様々なコースが展開されています。

オススメなのが、Aidemyです。

特徴は、人工知能特化型のプログラミング学習サービスということ。

Pythonを学べるコース

  • AIアプリ開発コース(画像認識)
  • データ分析コース(数値予測)
  • 自然言語処理コース
  • E資格対策コース
  • クラウドAI開発コース
  • 実戦データサイエンスコース

Aidemyの教材は「理論よりもまずは実践」をうたっていて、他社と比較すると、かなり本格的に、現場でも実際に使われるスキルを身につけられます。

そして、どのコースも同じ料金で受け放題

余裕があれば、AIアプリ開発コースの内容と、クラウドAI開発コースの内容を組み合わせて学習することもできてしまいます。

無料のカウンセリングで、不明点や学習したい内容をまずは相談してみましょう。

» Aidemyの無料カウンセリングはこちら

 

もう一つオススメなのが、TechAcademyです。

オンラインプログラミングスクール受講者数No.1の実績に加えて、受講生限定の転職サポートもあり、TechAcademyで学んだスキルを生かせる職場への転職も可能です。

「セット割」を活用すると、Pythonを使った人工知能・データ分析のスキルを過不足なく身につけられます。

1週間の無料体験があるので、システムの使い心地やサポート体制をのぞいてみるのがいいかなと思います。

» TechAcademyの無料体験はこちら

 

どちらのスクールも質問サポートが充実していて、早ければその場で、遅くとも次の日には疑問が解消するので、

「独学でプログラミングを勉強してきたけど、行き詰まるたびに時間が奪われるし、周りに気軽に聞ける人もいない」

みたいな無駄な一日を過ごすことがなくなります。

 

以上、Pythonを本格的に学べるプログラミングスクールを2校紹介しました。どちらも最初に20〜30万円くらいの投資が必要ですが、実際にスキルを身につけてしまえば、あとで簡単に回収できるはずです。例えば、

  • Pythonエンジニアに転職して年収を上げる:50万円
  • 副業で業務委託:20万円(時給5,000円で週10時間、1か月)
  • クラウドソーシングの単発案件:5〜10万円

このように、プログラミングスクールにお金を払ってもすぐに回収できることが分かると思います。

実際に、Pythonを使う業務委託で時給5,000円というのは普通にあるので、スキルをつけたら「週末にちょっと作業」を1〜2か月続けるだけですよね。

Google検索で問題解決するのもいいですが、「毎回ちょっと場当たり的に対応していて苦しいな・・・」と感じているあなたは、一度腰を据えてPythonを本格的に学ぶことを選択肢に入れてみてはいかがでしょうか。

記事で紹介したプログラミングスクールの一覧

  • Aidemy→人工知能特化、無料カウンセリングあり
  • TechAcademy→受講者数No.1、1週間の無料体験あり

RELATED POST

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください