-
Pythonで文字列を分割する方法|split()メソッドの使い方を解説
プログラミングをしていると、区切り文字(デリミタ)を基準に文字列を複数の部分へ分割したい場面がよくあります。Pythonではsplit()メソッドを使うことで、この処理を簡単に実現できます。さらに、区切り文字や分割回数を指定することで、柔軟に分割処理を制御することも可能です。 split()メソッドの基本 split()メソッドを引数なしで呼び出した場合、空白文字(スペース・タブ・改行など)がすべて区切り文字として扱われ、文字列はリストに分割されて返されます。 一方、第1引数に区切り文字を指定し、第2引数(maxsplit)に最大分割回数を指定すると、左側から指定した回数だけ分割が行われ、残
-
Pythonのeval()関数とは?基本的な使い方とセキュリティ対策を解説
Pythonのeval()メソッドは、引数として渡された式(expression)を解析し、プログラム内でその式を実行する関数です。つまり、文字列として記述された内容を、Pythonプログラムの中で実際のコードとして評価・実行できます。実行時に内容が決まる「動的なコード」を実現できる一方で、使い方を誤ると深刻なセキュリティリスクを生むこともあります。本記事では、eval()の基本的な使い方から、安全に利用するための対策までを解説します。 構文 eval()の構文は以下の通りです。 eval(expression, globals=None, locals=None) 各引数の意味は次の通りです
-
Pythonの組み込み関数permutations()を使って文字列の順列を求める方法
このチュートリアルでは、Pythonの標準ライブラリitertoolsモジュールに含まれる組み込み関数permutations()を使って、文字列の順列(並べ替え)を求める方法を解説します。 順列とは、与えられた文字をすべて使い、順序を変えて並べた組み合わせのことです。例えば「XYZ」という3文字の場合、3! = 6通りの並べ方が存在します。 文字列の順列を求める手順 itertoolsモジュールをインポートする 対象となる文字列を用意する itertools.permutations()メソッドで文字列の順列を取得する 戻り値はイテレータオブジェクトなので、list()でリストに変換する
-
Pythonのmap関数で1が最も多い行を検索する方法
このチュートリアルでは、Pythonのmap関数を使って、行列(2次元リスト)の中から「1」の数が最も多い行を見つけるプログラムを作成します。 まず、次のような行列を例に考えてみましょう。 matrix = [ [0, 0, 1], [1, 1, 1], [1, 1, 0] ] プログラムの書き方はさまざまありますが、ここではmap関数を活用し、以下の手順で実装していきます。 行列を初期化する map関数を使って各行に含まれる「1」の個数を求め、リストに格納する リストの中から最大値(およびそのインデックス)を出力する サンプルコード ## 行列の初期化 matr
-
【Python】リスト内のすべての値が指定した数値より大きいか判定する方法
このチュートリアルでは、リスト内のすべての要素が指定した数値より大きいかどうかを確認する方法を解説します。たとえば、リスト [1, 2, 3, 4, 5] と数値 0 が与えられた場合、リスト内のすべての値が指定値より大きければ True を、そうでなければ False を返します。 とてもシンプルなプログラムなので、3分もかからずに書けます。まずは自分で考えてみてください。解決策が見つからない場合は、以下の手順に沿ってプログラムを作成してみましょう。 プログラムの流れ リストと任意の数値を初期化する リストをループで処理する もし指定値以下の値が見つかったら False を返す ループが最
-
Pythonでリスト内の文字列から指定文字列に近い一致をすべて見つける方法
はじめに このチュートリアルでは、「文字列のリストの中から、指定された要素に近い一致をする文字列をすべて見つける」という問題の解決策を紹介します。まず、問題の内容を確認してみましょう。 問題の概要 文字列のリストと1つの要素が与えられたとき、リストの中からその要素と近い一致となる文字列を探し出します。以下の例を見てください。 入力: strings = ["Lion", "Li", "Tiger", "Tig"] element = "Lion" 出力: Lion Li 解決のアプローチ
-
Pythonで文字列内の重複文字をすべて検索する方法を解説
このチュートリアルでは、Pythonを使って文字列内に含まれるすべての重複文字を見つける方法を学びます。Pythonには複数のアプローチがあるので、それぞれ順番に見ていきましょう。 今回作成するプログラムの目的は、文字列の中に存在する重複した文字を抽出することです。例えば、文字列 tutorialspoint を入力すると、プログラムは t o i を出力します。つまり、文字列内で出現回数が2回以上の文字をすべて見つける、という処理になります。それでは始めましょう。 モジュールを使わずに書くプログラム 外部モジュールを一切使わず、Python標準の機能だけで目的を達成する方法を紹介します。まず
-
Pythonで2つの辞書(dict)をマージする方法【update()と**演算子】
このチュートリアルでは、Pythonで2つの辞書(dict)を1つに結合する方法を解説します。辞書のマージにはいくつかの方法がありますが、ここでは代表的な2つの手法をサンプルコード付きで紹介します。 update()メソッドを使う方法 まずは、辞書に組み込まれているupdate()メソッドを使う方法です。update()メソッドは戻り値としてNoneを返し、呼び出し元の辞書そのものを直接更新して2つの辞書を1つにまとめます。具体的なプログラムを見てみましょう。 サンプルコード ## 辞書の初期化 fruits = {apple: 2, orange: 3, tangerine: 5} dr
-
PythonでIPアドレスの先頭ゼロを削除する方法を解説
このチュートリアルでは、IPアドレスから先頭の余分なゼロ(先行ゼロ)を削除するPythonプログラムを作成します。具体的には、255.001.040.001 のようなIPアドレスを 255.1.40.1 の形式に変換する処理を実装していきます。 処理の流れ 以下の手順に沿ってプログラムを組み立てます。 対象となるIPアドレスを文字列として初期化する split() 関数を使い、ピリオド(.)でIPアドレスを分割する 分割した各部分を int 型に変換する(数値化することで先頭のゼロが自動的に除去される) 結合できるように、各部分を再び str 型に戻す join() メソッドですべての部分を
-
【Python入門】配列を指定位置まで反転させる2つの方法を解説
はじめにこのチュートリアルでは、Pythonで配列の先頭から指定された位置までの要素を反転させる方法を解説します。まずは、どのような処理を行うのか具体的に確認しておきましょう。問題の定義整数の配列と数値 n が与えられたとき、0番目のインデックスから (n-1)番目のインデックスまでの要素を反転させることが目的です。例えば、次のようになります。入力array = [1, 2, 3, 4, 5, 6, 7, 8, 9]、n = 5出力[5, 4, 3, 2, 1, 6, 7, 8, 9]この処理を実現するための基本的な手順は以下の通りです。配列と数値 n を初期化するn ÷ 2 回だけループ処理
-
Pythonで始める機械学習入門|基本の流れと主要ライブラリ、実装サンプルを徹底解説
本記事では、Python 3.x(それ以前のバージョンでも可)を使った機械学習の基礎について解説します。環境構築から実際にモデルを動かすところまで、初心者の方にもわかりやすく順を追って見ていきましょう。機械学習環境のセットアップまずは、既存のライブラリを活用して機械学習の実行環境を整えます。以下のコマンドで必要なパッケージをインストールしてください。>>> pip install numpy>>> pip install scipy>>> pip install matplotlib>>> pip install scik
-
Pythonのisprintable()メソッドの使い方と応用例を徹底解説
この記事では、Pythonに組み込まれている文字列メソッドisprintable()について、その基本的な使い方と実際の応用例をわかりやすく解説します。 isprintable()メソッドとは? isprintable()は、文字列操作のために用意されているPythonの組み込みメソッドです。文字列内のすべての文字が「印字可能(printable)」な文字である場合、または文字列が空の場合には True を返し、それ以外の場合は False を返します。 引数について このメソッドは呼び出し時に引数を一切取りません。対象となる文字列自身に対して直接実行します。 印字可能な文字とは?
-
Pythonの対数関数(log)の使い方を徹底解説!mathモジュールでさまざまな底の対数を計算する方法
本記事では、Python 3.xにおける対数(ログ)関数の使い方について詳しく解説します。底(基数)の異なる対数値の求め方を中心に、Python標準ライブラリのmathモジュールを活用した対数計算の基本をわかりやすく見ていきましょう。 mathモジュールのインポート まずは、対数計算に必要なmathモジュールをインポートします。 >>> import math インポート後は、mathモジュールが提供するすべての関数を自由に使えるようになります。 各種対数関数の実装例 次に、Pythonで利用できる代表的な対数関数の具体的な実装例を見てみましょう。 import math
-
Pythonでのベクトル化とは?NumPyによる高速な配列演算の基礎を解説
本記事では、Python 3.xにおける「ベクトル化(Vectorization)」の概念と、その実装に用いられるさまざまなテクニックについて解説します。ループ処理を排除した効率的なコードの書き方を、具体例とともに見ていきましょう。 ベクトル化とは何か? ベクトル化とは、ループを使用せずに配列操作を実装するテクニックです。関数を活用することで、コードの実行時間や計算時間を大幅に短縮できます。 ベクトル化では、配列に対して個別に処理を行うのではなく、ベクトル全体に対して一括で演算を実行します。代表的な演算には以下のようなものがあります。 ドット積(内積・スカラー積):2つのベクトルから単一のス
-
Pythonのグローバルインタプリタロック(GIL)とは?仕組みと課題をわかりやすく解説
本記事では、Pythonのグローバルインタプリタロック(GIL:Global Interpreter Lock)について詳しく解説します。GILとは、複数のスレッドが同時にPythonインタプリタのコードを実行できないよう制御する排他制御機構(ロック)のことです。この仕組みにより、マルチスレッド環境であっても、実際には一度に1つのスレッドしかPythonバイトコードを実行できません。そのため、GILはPython 3.x以前における設計上の課題として認識されることが多く、真の意味でのマルチスレッド処理を妨げる要因となっています。GILが導入された理由Pythonは自動ガベージコレクション(GC
-
Kivy入門|クロスプラットフォーム開発が可能なPython GUIフレームワークの基礎
本記事では、Python向けGUIフレームワーク「Kivy」の概要と、そのインストール方法について解説します。KivyはオープンソースのGUIアプリケーション構築用フレームワークであり、Windows、Linux、macOSといった複数のOSで動作するクロスプラットフォームアプリケーションの開発をサポートします。Kivyの特徴Kivyはマルチタッチ操作にも対応しており、デスクトップアプリだけでなくモバイルアプリ(Android/iOS)の開発にも利用できる点が大きな魅力です。一度書いたコードを各プラットフォームで再利用しやすいため、効率的な開発が可能になります。インストールガイド1. Pyth
-
Python vs Java:将来性で選ぶならどっち?特徴とフレームワークを徹底比較
本記事では、今後注目されるテクノロジーをスムーズに実装するうえで、PythonとJavaがそれぞれどのような可能性を秘めているのかを詳しく解説します。 Javaとは Javaの主な特徴 オブジェクト指向言語である プラットフォームに依存しない(Write Once, Run Anywhere) 分散コンピューティングとネットワーク機能を備えている マルチスレッド処理をサポート セキュリティが重視された設計 スタック割り当てシステムを利用可能 Javaで利用できる主なフレームワーク Spring Framework(Webアプリケーション開発) Grails(動的な開発環境) JavaS
-
Pythonのkeyboardモジュールの使い方を徹底解説!キーボード操作を自動化しよう
本記事では、Python 3.x(およびそれ以前のバージョン)で利用できるkeyboardモジュールの使い方について詳しく解説します。キーボード入力の自動化や制御を行いたい方にとって、非常に便利なライブラリなので、ぜひ最後までご覧ください。 推奨開発環境 動作確認には Jupyter Notebook の使用を推奨します。対話形式でコードを実行しながら挙動を確かめるのに適しています。 インストール方法 keyboardモジュールは、pipコマンドを使って簡単にインストールできます。 >>> pip install keyboard なお、このモジュールはOSレベルでキーボ
-
Scikit-learnで機械学習モデルを構築する方法|Python機械学習ライブラリ入門
本記事では、Pythonの無料機械学習ライブラリ「Scikit-learn」を使った学習モデルの構築方法を解説します。Scikit-learnはオープンソースで提供されている機械学習ライブラリで、ランダムフォレスト、サポートベクターマシン(SVM)、k近傍法(k-NN)など、多彩なアルゴリズムをサポートしています。また、NumPyやSciPyと直接連携して動作するため、数値計算との親和性が高く、初心者から実務者まで幅広く利用されています。1. データセットのインポートまずは分析対象となるデータセットを読み込みます。Pandasのread_csvメソッドを使えば、URLを指定するだけでCSV形式
-
Pythonのloggingモジュールでログを出力する方法をわかりやすく解説
この記事では、Pythonにおける「ロギング(ログ出力)」の基本と、ログレベルによる保護・セキュリティ管理の各段階について学びます。まず最初に logging モジュールをインポートし、その後ロガーを使って現在の状態を確認したり、メッセージを記録したりします。Pythonのロギングには、重要度に応じて以下の5つのレベルが用意されています。DEBUG(デバッグ)INFO(情報)WARNING(警告)ERROR(エラー)CRITICAL(致命的エラー)logging モジュールは、設定を手動で行わなくてもすぐに使い始められるのが特徴です。基本的な使用例import logging logging