-
【Python入門】リストを文字列に変換する4つの方法を徹底解説
本記事では、Pythonでリスト(list)型のデータを文字列(string)型に変換する方法について、代表的な4つのアプローチをサンプルコードとともにわかりやすく解説します。 問題設定 与えられたリストを、ひとつながりの文字列に変換することを目標とします。例えば、複数の文字列要素を持つリストを結合して、単一の文字列として扱いたいケースなどが該当します。 ここでは、以下の4つの異なるアプローチを順番に見ていきましょう。 方法1: 空の文字列への連結(forループ) 最も基本的な方法は、空の文字列を用意し、forループでリストの各要素を順番に連結していくやり方です。処理の流れが直感的で、初心者
-
Pythonで10進数を2進数に変換する方法|再帰と組み込み関数の2つのアプローチ
この記事では、10進数で表された数値を2進数に変換するPythonプログラムについて、その考え方と具体的な実装方法をわかりやすく解説します。 問題文 ある整数が与えられたとき、その数値を2進数に変換します。例えば、10進数の「35」は2進数では「100011」と表現されます。 アプローチ1:再帰を使った解法 再帰処理を利用すると、シンプルなコードで10進数を2進数に変換できます。基本的な流れは以下の擬似コードのとおりです。 DecToBin(num): if num > 1: &n
-
Pythonでリスト内の正の数と負の数をカウントする方法
この記事では、リスト内に含まれる正の数と負の数をそれぞれカウントする方法について、2つの異なるアプローチをわかりやすく解説します。 問題定義 リスト(イテラブル)が与えられたとき、その中に含まれる正の数と負の数の個数を数えることを目指します。 ここでは、以下の2つのアプローチを取り上げます。 総当たり(ブルートフォース)方式 lambda関数とfilter関数を組み合わせた方法 アプローチ1:総当たり方式 最も基本的な方法は、forループでリストを順番に走査し、各要素が0以上かどうかを条件分岐で判定するものです。0以上であれば正の数のカウンターを、それ以外の場合は負の数のカウンターを1ずつ
-
組み込み関数を使わずに大文字・小文字をカウントするPythonプログラム
この記事では、文字列に含まれる大文字と小文字の数を数える問題を、組み込みの文字判定メソッドに頼らずに解くための考え方と実装方法を解説します。 問題の概要 文字列が入力として与えられたとき、その中に含まれる大文字の数と小文字の数をそれぞれ求める必要があります。 ここでは、isupper() や islower() のような文字判定メソッドは使わず、組み込み関数 ord() を利用して各文字のASCII値を調べることで判定を行います。 ASCII値による判定の考え方 ASCIIコードでは、英字は次のような範囲に割り当てられています。 小文字(a〜z):97〜122 大文字(A〜Z):65〜90
-
Pythonで文中の単語数をカウントする方法|split()とisalpha()を使った2つのアプローチ
本記事では、Pythonを使って文章中の単語数を数えるための解法と、その具体的なアプローチについて詳しく解説します。 問題定義 ある文が与えられたとき、その文に含まれる単語の総数をカウントするプログラムを作成します。 ここでは、以下の2つのアプローチを取り上げます。 アプローチ1: split()関数を使用する方法 アプローチ2: strip()関数とisalpha()関数を組み合わせる方法 アプローチ1:split()関数を使う方法 最もシンプルな方法は、文字列に対してsplit()関数を適用するやり方です。split()はデフォルトで空白文字(スペースやタブなど)を区切りとして文字列を
-
Pythonで配列内の最大要素を見つける方法【初心者向け解説】
本記事では、配列の中から最大の要素を見つけるための解法とアプローチについて詳しく解説します。 問題の概要 配列が入力として与えられたとき、その中から最も大きい要素を見つけ出すことが課題となります。 アプローチ この問題は「線形探索」と呼ばれるシンプルな手法で解決できます。手順は以下の通りです。 まず、変数 max を配列の最初の要素で初期化します。 次に、2番目の要素から配列の末尾まで順番に走査していきます。 走査中の各要素について、現在の max の値と比較します。 要素が max より大きければ、max の値をその要素で更新します。 そうでなければ、そのまま次の要素へ進みます。 この処
-
Pythonでリスト内の最大値を見つける方法|sort()とmax()の2つのアプローチ
この記事では、リストの中から最大の数値を見つけるための解決策とアプローチについて詳しく解説します。問題の概要数値のリストが与えられたとき、その中から最大の要素を見つけ出す必要があります。Pythonでは、主に以下の2つの方法でこれを実現できます。ソート(並べ替え)を利用する方法組み込み関数 max() を利用する方法アプローチ1:sort() 関数を使う方法リストを sort() メソッドで昇順に並べ替えると、リストの最後の要素(インデックス -1)が必ず最大値になります。サンプルコードlist1 = [18, 65, 78, 89, 90] list1.sort() # メイン処理 prin
-
Pythonでリスト内のすべてのペア間の絶対差の合計を求めるプログラム
本記事では、リスト内のすべてのペア間の絶対差の合計を求める問題の解法とアプローチについて解説します。 問題文 リストが入力として与えられたとき、そのリスト内のすべてのペア間の絶対差の合計を求める必要があります。 解法のアプローチ enumerate() メソッドは、イテラブル(反復可能オブジェクト)にカウンターを付加し、enumerate オブジェクトとして返す組み込み関数です。ループ処理の中でインデックスと要素を同時に取得したい場合に非常に便利です。 この手法では、まず絶対差を格納するためのリスト「diffs」を用意します。 次に、2つの変数を持つ二重ループを使用します。片方はカウンター(イ
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に
-
リスト内の要素の合計を求めるPythonプログラム
この記事では、Pythonを使ってリスト内のすべての要素の合計を求める方法について、具体的なコード例とともに解説します。問題の定義リストが入力として与えられたとき、そのリストに含まれるすべての要素の合計値を計算する必要があります。例えば、[1, 2, 3, 4, 5]というリストが与えられた場合、出力は 15(1+2+3+4+5)となります。この問題を解くためのアプローチは主に2つあります。1つは組み込み関数を使用する方法、もう1つはブルートフォース(総当たり)方式でループ処理を行う方法です。方法1:組み込み関数 sum() を使うPythonには標準で用意されている組み込み関数 sum()
-
【Python】辞書から最も大きい3つの値を取得する方法
この記事では、Pythonの辞書(dict)に格納された値の中から、最も大きい3つの値を取り出して表示する方法を解説します。 問題文 与えられた辞書から、値が大きい順に上位3つの「キー:値」のペアを抽出し、画面に表示します。 方法1:collectionsモジュールのCounter関数を使う collectionsモジュールのCounterクラスは、most_common()メソッドを提供しています。引数に個数を指定すると、値の大きい順に(キー, 値)のタプルをリスト形式で取得できます。 サンプルコード from collections import Counter # 初期化した辞書 m
-
Pythonで文字列内に最も多く出現する文字とその出現回数を求める方法
この記事では、文字列の中で最も多く出現する文字と、その出現回数を求める方法について、考え方と実装手順をわかりやすく解説します。 問題文 入力として与えられた文字列から、最も多く出現する文字と、その出現回数を特定します。 アプローチ Python標準ライブラリの collections.Counter を使い、「文字をキー・出現回数を値」とする辞書を作成します。 辞書の値(出現回数)の中から最大値を求め、その最大値に対応する文字を取得します。 それでは、実際の実装例を見ていきましょう。 実装例 from collections import Counter def find(input_)
-
Pythonで行列の転置を求めるプログラム
この記事では、与えられた問題に対する解法とアプローチについて詳しく解説します。 問題文 ある行列が与えられたとき、その転置を同じ行列に格納し、結果を表示する必要があります。 行列の転置とは、行を列に、列を行に入れ替えたものです。言い換えれば、行列Aの転置は、要素A[i][j]をA[j][i]と入れ替えることで得られます。 実装例 N = 4 def transpose(A): for i in range(N): for j in range(i+1, N): A[i][j], A[j][i] = A[j][i], A[i][j] # ドライ
-
Pythonで数値が2の累乗かどうかを判定するプログラム
本記事では、与えられた数値が2の累乗(べき乗)であるかどうかを判定する方法について、考え方と実装手順をわかりやすく解説します。 問題の定義 ある整数 n が与えられたとき、その数が2の累乗(1, 2, 4, 8, 16, …)であるかどうかを判定します。 アプローチ 判定には「繰り返し2で割る」というシンプルな方法を使います。考え方は以下の通りです。 入力された数値 n を、1になるまで繰り返し2で割っていきます(n = n // 2)。 割る過程で n % 2 の結果が0以外(奇数)になり、かつ n が1でない場合は、その数は2の累乗ではありません。 最終的に n がちょうど1になれば、そ
-
【Python入門】指定した範囲内のすべての偶数を出力するプログラム
はじめに本記事では、指定された範囲内に存在する偶数をすべて出力するPythonプログラムについて、その解法と考え方をわかりやすく解説します。問題の概要開始値と終了値で表される範囲が与えられたとき、その範囲に含まれるすべての偶数を出力することを目標とします。基本的な解法アプローチ最もシンプルな方法は、範囲内の整数を1つずつ走査し、偶数だけを抽出するというものです。具体的な手順は以下の通りです。range()関数を使用したforループにより、入力区間内のすべての整数を順に取得します。各数値に対して「2で割った余りが0であるか」という条件判定を行い、奇数を除外します。条件を満たした数値(偶数)のみを
-
指定した範囲内のすべての奇数を出力するPythonプログラム
この記事では、与えられた問題を解決するための解法とアプローチについて詳しく解説します。問題文ある範囲(開始値と終了値)が与えられたとき、その範囲内に存在するすべての奇数を出力します。まずは、最も基本的な総当たり(ブルートフォース)のアプローチから見ていきましょう。基本的なアプローチここでは、rangeベースのforループを使用して、入力区間内のすべての整数を順番に取得します。その後、「2で割った余りが0以外」という条件式を適用することで偶数を除外し、奇数だけを抽出します。このアプローチの計算量はO(n)であり、各要素の比較には定数時間しかかかりません。それでは、実際の実装を見てみましょう。実装
-
文字列の中から偶数の長さの単語を出力するPythonプログラム
本記事では、与えられた問題を解決するための考え方と実装方法について解説します。Pythonの基本的な文字列操作を組み合わせることで、初心者の方でも簡単に実装できる内容となっています。 問題文 文字列が与えられたとき、その中に含まれる単語のうち、文字数が偶数であるものをすべて画面に表示するプログラムを作成します。 例えば、「tutorial point」という文字列が入力された場合、「tutorial」は8文字(偶数)なので出力され、「point」は5文字(奇数)なので出力されません。 解決のアプローチ この問題は、以下の手順で解決できます。 split()関数を使って、入力文字列を空白区切り
-
リスト内の偶数を出力するPythonプログラム|3つの実装方法を解説
本記事では、リスト(イテラブル)に含まれる偶数だけを抽出して出力するPythonプログラムの解決策とアプローチについて学びます。初心者にもわかりやすいよう、3つの異なる手法をコード例とともに紹介します。 問題の定義 リスト型のイテラブルが与えられたとき、その中に含まれるすべての偶数を出力することが求められます。 偶数かどうかの判定は、数値を2で割った余り(剰余)が0になるかどうかで確認できます。Pythonでは % 演算子を使うことで簡単に判定可能です。 ここでは、以下の3つのアプローチについて順番に見ていきましょう。 方法1:拡張forループを使用する 最も基本的な方法は、forループでリス
-
Pythonでリスト内の負の数を出力するプログラム
この記事では、与えられた問題を解決するためのアプローチと具体的な解法について詳しく解説します。問題の概要リスト(イテラブル)が与えられたとき、そのリストに含まれるすべての負の数を出力する必要があります。ここでは、この問題に対する3つの異なるアプローチを順番に見ていきましょう。アプローチ1:拡張forループを使う方法最も基本的な方法は、forループでリストの各要素を順番に取り出し、if文で負の数かどうかを判定して出力するやり方です。初心者にも直感的に理解しやすいコードです。サンプルコードlist1 = [-11,23,-45,23,-64,-22,-11,24] # 反復処理 for num i
-
Pythonで指定した範囲内の素数を出力するプログラムの書き方
本記事では、指定された区間内のすべての素数を出力するPythonプログラムについて、その解法とアプローチをわかりやすく解説します。 問題文 開始値と終了値からなる区間が与えられます。この区間に含まれるすべての素数を出力することが課題です。 なお、素数とは、1より大きい自然数のうち、1とその数自身以外に正の約数を持たない数のことを指します。 解法のアプローチ この問題は、2つのforループを組み合わせて解決できます。 1つ目のループ: 区間内の各数値を順番に取り出します。 2つ目のループ: 取り出した数値が素数かどうかを判定します。 具体的には、ある数値が2からその数値自身の手前までのい