Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonでリストの累積和(累積合計)を求める方法

    この記事では、リストの累積和(累積合計)を求める問題の解決策について詳しく解説します。問題文あるリストが与えられたとき、各要素までの累積和を格納した新しいリストを作成する必要があります。例えば、[10, 20, 30, 40, 50] というリストが与えられた場合、出力は [10, 30, 60, 100, 150] となります。これは、各位置でそれ以前の要素をすべて足し合わせた値です。実装例それでは、実際の実装を見ていきましょう。# 累積和を求める関数 def Cumulative(l): new = [] cumsum = 0 for element in l:

  2. Pythonで関数内のローカル変数の数を取得する方法

    本記事では、次の問題に対する解決策について学びます。 問題の概要 ある関数が与えられたとき、その関数内に存在するローカル変数の数を表示する必要があります。 解決方法 Pythonでは、関数オブジェクトが持つ __code__ 属性の co_nlocals を参照することで、関数内のローカル変数の数を簡単に取得できます。それでは、実際の実装例を見ていきましょう。 例1 # ローカル変数の確認 def scope(): a = 25.5 b = 5 str_ = Tutorialspoint # メイン処理 print(利用可能なローカル変数の数:, scop

  3. 【Python入門】2つの文字列から珍しい単語(ユニークな単語)を見つけるプログラムの作り方

    はじめに この記事では、以下の問題文に対する解決方法を、実際のコード例とともにわかりやすく解説します。 問題文 2つの文字列が与えられたとき、その中から「珍しい単語」(どちらか一方の文字列にしか出現しない単語)をすべて抽出することを目標とします。両方の文字列に共通して含まれる単語は除外します。 解決のアプローチ ここでは辞書(dict)を使った出現回数のカウント方式を採用します。手順は次のとおりです。 空の辞書を用意する 各文字列をsplit()で単語ごとに分割する 各単語の出現回数を辞書に記録する 出現回数がちょうど1回の単語だけを結果として返す 実装例 # 珍しい単語を見つける関

  4. 指定された文字列のすべての順列を出力するPythonプログラム

    本記事では、以下の問題に対する解決策について詳しく学んでいきます。 問題文 1つの文字列が与えられたとき、その文字列から作成できるすべての順列(並べ替えの組み合わせ)を表示する必要があります。 それでは、以下の実装例で具体的な解決策を見ていきましょう。 実装例 # リストを文字列に変換 def toString(List): return .join(List) # 順列の生成 def permute(a, l, r): if l == r: print(toString(a)) else: for i in range(l, r +

  5. Pythonのuuid3()とuuid5()でハッシュIDを生成する方法

    UUID(Universally Unique Identifier:汎用一意識別子)は、32ビットの16進数で表される識別子であり、特定の名前空間内での一意性を保証します。プログラムが生成したオブジェクトの追跡や、大規模な識別子が必要となるデータ処理など、Pythonでオブジェクトやデータを扱うさまざまな場面で活用できます。Pythonのuuidモジュールには、こうした識別子を生成するための関数が標準で用意されています。本記事では、ハッシュ値を利用して決定的なUUIDを生成できる uuid3() と uuid5() の使い方を解説します。構文と名前空間uuid3(namespace, str

  6. Pythonのglobalキーワードとは?変数スコープの基本と使い方を実例で解説

    プログラミングでは、あるスコープ内で宣言した変数の値を、そのスコープの外側から参照したり変更したりしたい場面があります。このようなときに役立つのが、Pythonのglobalキーワードです。関数内で変数名の前にglobalと記述することで、その変数をグローバル(大域)スコープとして扱えるようになります。なお、関数の外で宣言された変数は、自動的にグローバルスコープになります。 関数の外で宣言された変数 次の例では、変数は関数の外で宣言されていますが、関数の中から問題なくアクセスできています。これは、関数外で宣言された変数がすでにグローバルスコープを持っているためです。 サンプルコード x =

  7. Pythonの歴史:誕生から現代までの歩み

    Pythonは、2010年代に急速に人気を博したオープンソースのプログラミング言語です。データ分析、データ処理、Web開発など、多様なソフトウェア分野で第一選択肢となる汎用性の高さは、その柔軟性を如実に示しています。2015年以降、数多くの業界調査において、常に上位5位以内のプログラミング言語にランクインし続けています。 Pythonの生みの親 Pythonは、オランダ出身のプログラマーグイド・ヴァン・ロッサム(Guido van Rossum)によって生み出されました。彼は2018年7月に退任するまで、Pythonコミュニティにおいて「慈悲深き終身独裁者(BDFL:Benevolent

  8. Pythonで変数に値を代入する方法を徹底解説!基本の代入から条件分岐まで

    変数への値の代入は、あらゆるプログラミング言語において最も基本的な操作のひとつです。Pythonでは、変数を宣言して値を代入する方法が複数用意されており、状況に応じて使い分けることができます。この記事では、代表的な代入方法をそれぞれわかりやすく解説します。 直接代入(ダイレクト・イニシャライズ) 最もシンプルな方法は、=(代入演算子)を使って変数を直接宣言し、値を代入するやり方です。なお、同じ変数に対して複数回値を代入した場合、プログラムでは最後に代入された値が使用される点に注意しましょう。 コード例 x = 5 x = 9 print(x) 上記のコードを実行すると、次のような結果が出力され

  9. Pythonのhtml5libとlxmlパーサーの違いを徹底解説!特徴と動作の比較

    PythonでHTMLを解析する際、BeautifulSoupと組み合わせて使われるパーサーにはいくつかの種類があります。その中でも代表的なのがhtml5libとlxmlです。この2つは似た目的で使われますが、内部設計や実際の動作には大きな違いがあります。 html5libとは html5libは、HTMLを解析するための純粋なPython製ライブラリです。主要なWebブラウザが実装しているWHATWG HTML仕様に準拠するよう設計されており、HTMLドキュメント内のほぼすべての要素を解析できます。ドキュメントをさまざまなタグや断片に分解し、用途に応じてフィルタリングすることも可能です。

  10. Python・pandasのブールインデックス徹底解説!True/Falseと0/1でデータを抽出する方法

    pandasのDataFrameでは、True / False といったブール値や、1 / 0 のような整数値をそのままインデックスとして使用できます。これらを活用すると、条件に合致するレコードだけを簡単にフィルタリングでき、データ分析の効率が大きく向上します。本記事では、ブールインデックス操作に使えるさまざまな手法を、具体的なサンプルコードとともにわかりやすく解説します。ブールインデックスの作成まず、ゲームのスコアデータを扱うDataFrameを例に見ていきましょう。各曜日に獲得したポイントが辞書形式で格納されたデータを用意します。このDataFrameに対して、TrueとFalseをインデ

  11. Pythonのオブジェクト比較を徹底解説:「is」と「==」演算子の違い

    本記事では、Pythonにおけるオブジェクト比較の方法として、「is」演算子と等価演算子「==」の違いについて詳しく解説します。 この2つの演算子は似ているようで、実はまったく異なる役割を持っています。それぞれの動作の仕組みを正しく理解することは、バグの少ないPythonコードを書く上で非常に重要です。 「==」と「is」の基本的な違い 等価演算子(==)は、渡されたオブジェクトの値が等しいかどうかを判定します。つまり、2つのオブジェクトがメモリ上のどこに格納されていようと、中身の内容が同じであれば「等しい」とみなされます。 一方、is 演算子は、2つのオブジェクトが同一の参照(同じメモリ上の

  12. Pythonで2つの数の公約数を求めるプログラムの書き方

    はじめに この記事では、以下の問題文に対する解決方法について学んでいきます。 問題文 2つの整数が与えられたとき、それらに共通する約数(公約数)の個数を表示する必要があります。 アプローチの考え方 まず、入力として受け取った2つの数のうち、小さい方の値(最小値)を計算します。続いて、1からその最小値までの各値で2つの数を順番に割っていき、両方の数を割り切ることができるかどうかをループ処理で確認します。 条件が真(True)と評価されるたびに、カウンターを1ずつ増加させます。最終的なカウンターの値が、2つの数の公約数の個数となります。 実装例 それでは、以下のコードで実際の実装を見てみましょう。

  13. Pythonで与えられた数の素因数をすべて効率的に出力するプログラムの作成方法

    本記事では、与えられた整数の素因数(そいんすう)をすべて効率的に求めて出力するPythonプログラムについて詳しく解説します。 問題文 ある整数 n が与えられたとき、その数を構成するすべての素因数を見つけて出力することです。 例えば 200 の場合、200 = 2 × 2 × 2 × 5 × 5 と分解できるため、出力は「2, 2, 2, 5, 5」となります。 効率的なアプローチとは 2からnまですべての数で割り切れるかを順番に確認する素朴な方法では、計算量が O(n) かかり非効率です。そこで、次の3つの性質を利用することで、計算量を O(√n) まで削減できます。 まず2で割れるだけ

  14. Pythonプログラムで数の偶数の約数の合計を求める方法

    この記事では、以下の問題文に対する解決策について詳しく解説します。 問題文:ある数が与えられたとき、その数のすべての偶数の約数(因子)の合計を求めて表示します。 アプローチ まず、与えられた数が奇数であるかどうかを確認します。奇数には偶数の約数が存在しないため、その場合は 0 を返します。 数が偶数である場合は、実際の計算に進みます。ここでのポイントは、20(つまり1)以外のすべての項を掛け合わせることで、偶数の約数の合計が得られるという点です。 偶数の約数からすべての奇数を取り除くために、20 に相当する「1」を無視します。この処理を行うことで、残るのは偶数の約数のみとなります。なお、2 は

  15. 【Python】フィボナッチ数列におけるkのn番目の倍数の位置を求める方法

    この記事では、「フィボナッチ数列の中に現れるある数の倍数」をテーマに、Pythonでの解法をサンプルコードとともにわかりやすく解説します。 問題の概要 整数 k と n が与えられたとき、フィボナッチ数列の中で k の n 番目の倍数が何番目の項として現れるかを求めます。 例えば「k = 4 の 5 番目の倍数」なら、フィボナッチ数列を順にたどりながら 4 の倍数になっている項を探し、そのうち 5 番目に該当する項の位置を出力します。 解法のポイント フィボナッチ数列を k で割った余りには周期性があるため、k の倍数となる項は等間隔で出現します。最初に k の倍数になった項の位置を i

  16. 指定した範囲内で奇数個の約数を持つ要素の個数を求めるPythonプログラム

    本記事では、以下の問題文に対する解決策について詳しく解説します。 問題文 問題 − ある範囲 [n, m] が与えられたとき、その範囲内に存在する「奇数個の約数を持つ数」の個数を求めます。 アプローチ まず押さえておきたい重要な性質として、「完全平方数だけが奇数個の約数を持つ」ということが挙げられます。これは、約数が通常ペア(d と n/d)で現れるのに対し、完全平方数の場合は平方根に相当する約数だけがペアにならず単独で存在するためです。 したがって、この問題は「指定された範囲内に含まれる完全平方数の個数を数える」ことに帰着できます。 なお、n と m はどちらも範囲に含まれるため、境界値での

  17. 指定された文字列がキーワードであるかどうかを確認するPythonプログラム

    この記事では、指定された文字列がPythonのキーワード(予約語)であるかどうかを判定する方法について解説します。問題の概要与えられた文字列が、Pythonにおけるキーワードであるかどうかを確認する必要があります。キーワードとは、言語によって特別な用途のために予約されている単語であり、変数名や関数名などの識別子として使用することはできません。例えば「if」「for」「while」「def」などはすべてキーワードです。これらの名前を変数に使おうとすると、構文エラーが発生します。解決策:keywordモジュールの活用Pythonには標準ライブラリとしてkeywordモジュールが用意されており、これ

  18. 指定された文字列が母音回文であるかどうかを確認するPythonプログラム

    はじめに この記事では、「与えられた文字列から子音をすべて取り除いたとき、残った母音だけの文字列が回文になっているかどうかを判定する」という問題を、Pythonプログラムで解く方法を解説します。 問題の概要 問題文:母音と子音の両方を含む文字列が与えられます。まず文字列からすべての子音を取り除き、その結果得られた文字列が回文(前から読んでも後ろから読んでも同じ並びになる文字列)であるかどうかを確認してください。 解決のアプローチ この問題は、以下の手順で解くことができます。 元の文字列を先頭から順に走査し、母音(a・e・i・o・u)だけを取り出して新しい文字列を作成します。 母音が1つも

  19. Pythonで素数を判定するプログラムの書き方を徹底解説

    はじめに この記事では、「与えられた数値が素数かどうかを判定する」という問題に対する解決策を、Pythonのコード例とともにわかりやすく解説します。 問題の概要 問題設定:ある数値が与えられたとき、その数が素数であるかどうかを判定するプログラムを作成します。 まず「素数」の定義をおさらいしましょう。1より大きい正の整数のうち、1とその数自身以外に約数を持たない数を素数(そすう)と呼びます。たとえば、2、3、5、7などはそれ以外の約数を持たないため、素数です。 プログラムの考え方 今回作成するプログラムでは、入力された数値が素数かどうかを以下の手順で判定します。 1以下の数値は素数ではない

  20. Pythonでリストを文字列に変換する4つの方法を徹底解説

    Pythonでは、リスト(list)の要素をひとつの文字列(str)にまとめたい場面がよくあります。例えば、単語のリストを連結して文章を作ったり、データをCSV形式の文字列に整形したりするケースです。本記事では、リストを文字列へ変換する代表的な4つのアプローチを、サンプルコードと実行結果とともにわかりやすく解説します。 課題の概要 問題設定: リスト型のイテラブルが与えられたとき、それを文字列型に変換することを目標とします。 この問題には主に以下の4つの解決策があります。順番に見ていきましょう。 方法1:素朴なループ処理(総当たり方式) 最も基本的な方法は、空の文字列を用意し、forループ

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:113/450  20-コンピューター/Page Goto:1 107 108 109 110 111 112 113 114 115 116 117 118 119