-
Pythonで文字列の接頭辞(プレフィックス)をカウントする方法:特定の文字の出現頻度を比較する
はじめに このチュートリアルでは、文字列と2つのアルファベットを受け取り、「1つ目のアルファベットの出現回数が2つ目より多い接頭辞(プレフィックス)」を抽出して表示し、その合計数を出力するPythonプログラムを作成します。 例えば、文字列 apple に対してアルファベット p と e を指定した場合、先頭から1文字ずつ増やした各接頭辞の中で、p の出現回数が e より多いものだけを出力します。 動作例 入力例1 string: apple alphabets: p, e 出力例1 ap app appl apple Total prefixes matched: 4 この場合、ap、ap
-
【Python入門】配列(リスト)内の全要素の出現頻度をカウントする2つの方法
このチュートリアルでは、配列(リスト)内のすべての要素が出現する回数(頻度)を求めるプログラムの作成方法を解説します。Pythonでは主に2つのアプローチがあり、それぞれ実装方法とコード例を見ていきましょう。 方法1:dict(辞書)を使う まずは、標準的なdict(辞書)を使った基本的な方法です。処理の流れは以下の通りです。 配列を初期化します。 空の辞書を初期化します。 リストを反復処理します。 要素が辞書に存在しない場合は、値を 1 に設定します。 要素がすでに辞書に存在する場合は、値を +1 してカウントを増やします。 辞書を反復処理しながら、要素とその出現回数を出力します。
-
PythonとOpenWeatherMap APIで任意の都市の天気を取得する方法
このチュートリアルでは、OpenWeatherMap APIを使用して、任意の都市の天気情報を取得する方法を解説します。OpenWeatherMap APIを利用するには、事前にAPIキーを取得する必要があります。APIキーは、公式サイトでアカウントを作成するだけで無料で入手できます。 アカウントを作成してAPIキーを取得しましょう。無料プランでは毎分60回までのリクエストが可能で、それ以上の利用には有料プランへの加入が必要です。ただし、このチュートリアルの範囲では無料版で十分です。HTTPリクエストの送信にはrequestsモジュール、レスポンスデータの処理にはjsonモジュールを使用します
-
PythonとGoogle Static Maps APIで指定した場所の地図画像を取得する方法
Google Static Maps APIとはGoogleが提供するStatic Maps APIは、HTTPリクエストに対して地図画像を返してくれるサービスです。用途に合わせてさまざまなパラメータを指定することで、目的の場所の地図画像を直接取得できます。このAPIを利用するには、あらかじめGoogleで課金アカウントを作成しておく必要があります。詳細については、Google Cloud Platformの公式サイトをご確認ください。地図画像を取得する手順それでは、指定した場所の地図画像を取得するための手順を見ていきましょう。requestsモジュールをインポートするAPIキーとベースURL
-
Pythonのリスト内包表記でリスト内のすべての0を末尾に移動する方法
Pythonでは、リスト内包表記を使うことで、数値リスト内のすべての0(ゼロ)をリストの末尾に移動できます。例えば、[1, 3, 0, 4, 0, 5, 6, 0, 7] というリストの場合、処理後の結果は [1, 3, 4, 5, 6, 7, 0, 0, 0] となります。 リスト内包表記を活用すれば、この処理はわずか1行のコードで実現可能です。以下の手順に従って実装してみましょう。 処理の手順 数値のリストを初期化します。 リスト内包表記で「0以外の要素」と「0の要素」をそれぞれ抽出し、両者を連結して新しいリストを作成します。 新しいリストを出力して結果を確認します。 サンプルコード
-
PythonでNumPyを使って2つの行列を乗算する方法
はじめにこのチュートリアルでは、PythonのNumPyライブラリを使って2つの行列を乗算する方法を解説します。NumPyを使えば、行列計算は非常にシンプルに記述できます。NumPyには行列の積を計算するためのdotメソッドが用意されています。まずは、以下のコマンドでNumPyライブラリをインストールしましょう。pip install numpyプログラムの流れ行列の乗算を行うプログラムは、以下の手順で作成します。NumPyライブラリをインポートする。乗算したい2つの行列を初期化する。numpy.dot(matrix_1, matrix_2)メソッドで行列の積を計算し、結果を変数に格納する。結
-
【Python入門】calendarモジュールで年・月のカレンダーを表示する方法
このチュートリアルでは、Pythonの標準ライブラリである calendar モジュールを使って、指定した年や月のカレンダーをコンソールに表示する方法を解説します。Pythonならわずか数行のコードで実装でき、必要な情報は「年」と「月」の数値だけです。 年間カレンダーを表示する方法 まずは、1年分のカレンダーを一括で表示する方法から見ていきましょう。以下の手順で実装できます。 calendar モジュールをインポートする 年を表す数値を変数に代入する calendar.calendar(year) を使ってカレンダーを出力する サンプルコード # calendarモジュールをインポート
-
文字列がすべて母音で構成されているか判定するPythonプログラム
プログラミングをしていると、特定の条件を満たす入力だけを受け付けたい場面に出くわすことがあります。この記事では、その一例として母音のみで構成された単語だけを受け入れるプログラムを作成し、入力が有効かどうかを判定して結果を表示する方法を解説します。 アプローチの流れ まず、処理の手順を段階的に確認しておきましょう。 母音のリスト [A, E, I, O, U, a, e, i, o, u] を定義する 判定対象となる単語または文を用意する 単語や文を1文字ずつ走査し、その文字が母音リストに含まれているかどうかを確認する 3.1. 母音以外の文字が見つかった場合は、ループを抜けて「Not ac
-
文字列に特殊文字が含まれているかどうかを確認するPythonプログラム
このチュートリアルでは、文字列に特殊文字(記号)が含まれているかどうかを判定するプログラムを作成します。Pythonを使えば、ごくシンプルなコードで実装できます。 Pythonのstringモジュールには、特殊文字のセットがあらかじめ用意されています。これを活用することで、文字列の中に特殊文字が存在するかどうかを簡単にチェックできます。それでは、プログラム作成の手順を順番に見ていきましょう。 stringモジュールをインポートします。 string.punctuationから特殊文字の一覧を取得し、変数に格納します。 判定対象となる文字列を初期化します。 map関数を使って、文字列に特殊文字
-
Pythonでランレングスエンコーディングを実装する方法
このチュートリアルでは、Pythonを使ってランレングスエンコーディング(Run-Length Encoding)を作成する方法を解説します。与えられた文字列に対して、「文字+出現回数」という形式の新しい文字列を生成して返すプログラムです。例えば、文字列 tutorialspoint は t3u1o2r1i2a1l1s1p1n1 とエンコードされます。これは各文字とその出現回数を順に連結したもので、元の文字列に最初に出現した順序が保たれます。実装の手順run_length_encoding という名前の関数を定義します。collections.OrderedDict を使い、各文字のカウントを
-
PythonとTkinterで作る!初心者向けシンプルGUI計算機の作り方
このチュートリアルでは、Pythonの標準モジュールTkinterを使用して、シンプルなGUI計算機を作成します。TkinterはPythonに組み込まれているGUIアプリケーション開発用のモジュールで、追加インストールが不要で手軽に使えるのが魅力です。GUIアプリケーションを活用すれば、データや計算結果を視覚的にわかりやすく操作できます。 それでは、シンプルなGUI計算機の作り方を見ていきましょう。 作成の手順 Tkinterからすべての機能を「*」でインポートします。 計算機のインターフェース(ウィンドウ)を作成します。 入力フィールドに数字を入力する関数(input_number)を作
-
Pythonのmap()関数を使って2次元配列(2D配列)の合計を求める方法
このチュートリアルでは、Pythonのmap()関数を使って、2次元配列(リストのリスト)の合計を求める方法を解説します。 map()関数は、関数とイテラブル(反復可能オブジェクト)の2つの引数を受け取ります。イテラブルの各要素が関数に渡され、その結果はmapオブジェクトとして格納されます。mapオブジェクトはlist()などでイテラブルに変換できます。 処理の手順 リストを使って2次元配列を初期化します。 sum関数と2次元配列をmap()関数に渡します。 結果として得られるmapオブジェクトの合計を求めて出力します。 コード例 以下のコードを見てみましょう。 # 2次元配列の初期化 a
-
【Python入門】doctestモジュールを使ったテストの書き方と実行方法
Pythonではdocstring(ドキュメンテーション文字列)を使うことで、関数やクラスに関する補足情報を記述できます。実はこのdocstringは、doctestモジュールによる関数のテストにも活用できます。doctestモジュールは、docstring内の「>>>」で始まるコードを自動的に実行し、その結果を期待される出力と照合してくれる便利なツールです。 doctestを使った関数の作成手順 以下の手順に従って、doctest対応の関数を作成しましょう。 doctestモジュールをインポートします。 docstring付きの関数を定義します。docstringの中に
-
【Python】threadingモジュールでバックグラウンド処理を実現する方法
はじめに このチュートリアルでは、Pythonにおけるマルチスレッド処理について解説します。マルチスレッドを活用すると、複数のタスクを同時に実行できるようになります。Pythonには、このようなマルチタスクを実現するためのthreadingモジュールが標準ライブラリとして用意されています。 ここでは、「リスト内の数値の合計を計算しながら、裏側でファイルにデータを書き込む」という具体例を通して、マルチスレッドの動作を確認していきましょう。プログラム全体の流れは以下のステップになります。 threadingモジュールをインポートする threading.Threadクラスを継承した独自クラスを作
-
Pythonで文字列の末尾にゼロを追加する方法
データ処理を行っていると、ある文字列の後ろに別の文字列を連結したい場面に出くわすことがあります。本記事では、指定した文字列の末尾に動的な個数の「0」を追加する方法を、いくつかの文字列操作機能を使ったサンプルコードとともにわかりやすく解説します。 ljust()とlen()を使う方法 Pythonの文字列メソッドljust()は、指定した幅(width)の文字列の中で元の文字列を左寄せにして返します。余った部分は引数で指定した埋め込み文字(fillchar)で埋められます(デフォルトは半角スペース)。また、len()は文字列の長さを返す関数です。この2つを組み合わせ、「元の文字列の長さ+追加した
-
Pythonのdeque(両端キュー)とは?基本操作と使い方を実例付きで解説
Pythonにおけるdeque(デック、両端キュー)は、スタックやキューのようなデータ構造の一つです。最大の特徴は、先頭と末尾の両端から要素の追加・削除ができる点にあります。これは他のデータ構造にはない柔軟性であり、両端での操作が必要な場面で非常に役立ちます。dequeは標準ライブラリのcollectionsモジュールを使って実装されており、importするだけで簡単に利用できます。この記事では、dequeで使える主な操作を一つずつ、実際のコード例とともにわかりやすく解説します。dequeで使える主な操作一覧dequeには以下のような便利なメソッドが用意されています。append(x):引数x
-
Pythonのgetattr()メソッドとは?使い方と実行速度をサンプルコードで解説
Pythonでオブジェクト指向プログラミングを実践していくと、オブジェクトを生成し、その属性(アトリビュート)へアクセスする場面が頻繁に登場します。通常、オブジェクトはクラスから生成されますが、組み込み関数のgetattr()を使うことで、オブジェクトが持つ属性に文字列名を指定して動的にアクセスできます。getattr()メソッドの基本構文getattr(オブジェクト, 属性名, デフォルト値)第3引数のデフォルト値は省略可能です。指定した属性が存在しない場合、デフォルト値を渡していればその値が返され、渡していなければAttributeErrorが発生します。サンプルコード以下の例では、bes
-
Pythonで実現するTwitter感情分析の徹底解説|TweepyとTextBlobを使った実装ガイド
感情分析(Sentiment Analysis)とは、ある出来事に対して人々がテキストや音声で残したフィードバックから、その感情(センチメント)を推定するプロセスです。音声による意見も、Pythonプログラムで分析できるようにテキスト形式へ変換する必要があります。人々が表現する感情は「ポジティブ」または「ネガティブ」に大別され、感情テキスト内の各単語に重みを割り当てて数値を算出することで、感情を数学的に評価することが可能になります。 感情分析の主な活用シーン 顧客フィードバック − 企業にとって、自社の商品やサービスに対する顧客の意見を把握することは極めて重要です。顧客の声がテキストとして蓄
-
PythonのurllibモジュールでURLを処理する方法を徹底解説
PythonはWebプログラミングの分野で広く活用されているプログラミング言語です。Webサイトにアクセスする際、私たちは「URL(Uniform Resource Locator)」と呼ばれるWebアドレスを使用します。Pythonには、URLへのリクエストを処理し、アクセス結果を受け取るための機能が標準で備わっています。本記事ではurllibモジュールを取り上げ、URLからデータを取得する際に役立つさまざまな関数について詳しく解説します。 urllibのインストール Python環境にurllibをインストールするには、pipを使って以下のコマンドを実行します。 pip install
-
PythonでCSVファイルを操作する方法|csvモジュールとpandasによる読み書きの基本
CSVファイル(Comma Separated Values:カンマ区切り値)は、プラットフォームを問わずデータを保存・共有できる、最も広く使われているフラットファイル形式のひとつです。各列はカンマで区切られ、任意でヘッダー行を設けて各列の名前を示すこともできます。PythonにはCSVファイルを扱うためのモジュールが複数用意されており、本記事では標準ライブラリのcsvモジュールと、データ分析で定番のpandasを使って、CSVファイルの読み込みと書き込みを行う方法を解説します。 csvモジュールを使ったCSVファイルの読み込み まずは標準ライブラリのcsvモジュールを使った基本的な読み込