Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonの「==」と「is」演算子の違いをわかりやすく解説

    「==」と「is」の基本的な違い Pythonには、オブジェクトを比較するための方法として「==」演算子と「is」演算子の2つがあります。一見すると似たような働きをするように見えますが、この2つはまったく異なる目的を持っています。 「==」(等価演算子)は、2つの変数の値が等しいかどうかを比較します。一方、「is」(同一性演算子)は、2つの変数が同じオブジェクト(同じメモリ上の場所)を参照しているかどうかを確認します。 サンプルコード 以下のコードは、「==」と「is」の動作の違いを示すシンプルな例です。ここでは空のリストを扱っています。list1とlist2はそれぞれ独立した別々の空のリスト

  2. Pythonでリスト内の最大値・最小値の位置を見つける方法

    Pythonでは、リスト内の最大値や最小値を求めるのが非常に簡単で、それらの位置(インデックス)も簡単に取得できます。Pythonには便利な組み込み関数が用意されており、min()はリスト内の最小値を求め、max()はリスト内の最大値を求めます。さらに、index()を使えば特定の要素のインデックス(位置)を調べることができます。 アルゴリズム maxminposition(A, n) /* Aはユーザーが入力したリスト、nはリストのサイズ */ ステップ1:組み込み関数を使って最小要素の位置を求める A.index(min(A)) ステップ2:組み込み関数を使って最

  3. PythonのSequenceMatcherで最長共通部分文字列を求める方法

    はじめに 2つの文字列が与えられたとき、その中から最も長い共通部分文字列(Longest Common Substring)を見つけて出力するのが本記事の目的です。Pythonでは、標準ライブラリ difflib に含まれる SequenceMatcher クラスの find_longest_match() メソッドを使うことで、この問題を簡単かつ効率的に解決できます。 SequenceMatcherとは difflib.SequenceMatcher は、要素がハッシュ可能である限り、任意の型のシーケンス同士を比較できる柔軟なクラスです。文字列だけでなく、リストやタプルなどの比較にも利用で

  4. 【Python入門】偶数と奇数の要素を2つのリストに分割する方法

    この記事では、ユーザーが入力したリスト(偶数と奇数が混在した要素を含む)を、偶数のみのリストと奇数のみのリストという2つの異なるリストに分割するPythonプログラムを紹介します。 リスト内の各要素を2で割った余りを判定することで、偶数か奇数かを簡単に見分けることができます。これはPythonの条件分岐とループ処理を学ぶのに最適な例題です。 実行例 Input: [1, 2, 3, 4, 5, 9, 8, 6] Output Even lists: [2, 4, 8, 6] Odd lists: [1, 3, 5, 9] アルゴリズム プログラムの流れは以下のステップで構成されています。

  5. Pythonで氏名のイニシャルを出力するプログラムの書き方を解説

    氏名のイニシャル(頭文字)を表示するプログラムは、Pythonの組み込み関数を組み合わせることで簡単に実装できます。この記事では、split()、upper()、title()という3つの組み込み関数を使って、氏名を「イニシャル+苗字」の形式に変換する方法を解説します。 処理の流れ 基本的な処理の手順は以下のとおりです。 split()関数を使って、氏名の文字列を単語ごとのリストに分割します。 リストを最後から2番目の単語まで走査し、各単語の先頭文字をupper()関数で大文字に変換します。 最後の単語(苗字にあたる部分)は、title()関数を使って先頭のアルファベットを大文字にしたままそ

  6. Pythonで数値の2進表現における最長の連続する1の長さを求めるプログラム

    整数が与えられたとき、その2進表現(バイナリ表現)の中で最も長く連続する「1」の長さを求めるPythonプログラムを紹介します。 例 入力: n = 15 出力: 4 15 の2進表現は 1111 です。 この場合、「1」が4つ連続しているため、答えは4となります。 アルゴリズム 数値を入力として受け取ります。 カウンタ変数 c を 0 で初期化します。 n が 0 になるまでの反復回数を数えます。 ビット演算 n & (n << 1) を行うことで、1の連続列の長さが毎回1つずつ短くなっていきます。 アルゴリズムのポイント この手法の鍵となるのは n &

  7. 数値の2進表現が回文かどうかを判定するPythonプログラム

    ここでは、Pythonの組み込み関数を活用して、数値の2進表現が回文(パリンドローム)になっているかどうかを判定します。まず bin() 関数で数値を2進数形式の文字列に変換し、次にその文字列を反転させて元の文字列と比較します。両者が一致すれば回文、一致しなければ回文ではないと判断できます。 実行例 Input: 5 Output: palindrome 解説 数値 5 の2進表現は 101 です。 この文字列を反転しても 101 のままなので、元の文字列と一致します。 したがって、5 は回文であると判定されます。 アルゴリズム Palindromenumber(n) /* n は判定対

  8. 正の整数のビットを反転するPythonプログラムの書き方

    Pythonで正の整数のビット順を逆にするには、まず bin() 関数を使って数値を2進数に変換します。bin() は変換結果の先頭に「0b」というプレフィックスを付加するため、その最初の2文字を除外し、残りの部分を反転させます。さらに、指定されたビットサイズに合わせて、反転した文字列の末尾に0を補完します。最後に、反転した2進数の文字列を整数へと変換し直すことで、ビットが反転された値が得られます。 アルゴリズム integernumber(n, bit_size) /* n は対象の数値、bit_size はビットサイズ */ ステップ1: まず bin() 関数で数値を2進数に変換する。

  9. Pythonでホスト名とIPアドレスを表示する方法【socketモジュール活用】

    Pythonでは、標準ライブラリの socket モジュールに用意されている gethostname() と gethostbyname() の2つの関数を使うことで、ローカルマシンのホスト名とIPアドレスを簡単に取得できます。 gethostname() は、実行中のマシン(ローカルホスト)の標準的なホスト名を取得する関数です。一方、gethostbyname() は、指定したホスト名に対応する情報をホストデータベースから検索し、IPアドレスを返す関数です。 socket.gethostname() socket.gethostbyname() アルゴリズム ステップ1: socketモジ

  10. PythonのSeabornを使ってグラフをプロットする方法

    はじめにPlotlyのPythonグラフ描画ライブラリを使用すると、インタラクティブで出版品質のグラフをオンライン上で簡単に作成できます。折れ線グラフ、散布図、面グラフ、棒グラフ、エラーバー、箱ひげ図、ヒストグラム、ヒートマップ、サブプロット、複数軸グラフ、ポーラーチャート、バブルチャートなど、さまざまな種類の可視化に対応しています。一方、SeabornはPythonで統計グラフィックスを作成するためのライブラリです。matplotlibをベースに構築されており、pandasのデータ構造とシームレスに連携できる点が大きな特徴です。統計データの可視化を美しく手軽に行いたい場合に最適なツールといえ

  11. 文字列内の単語の出現回数をカウントするPythonプログラムの作成方法

    この記事では、ユーザーから入力された文字列の中に、指定した単語が何回出現するかをカウントし、その結果を出力するPythonプログラムを紹介します。文字列操作の基礎を学ぶのに最適な題材です。 実行例 入力:Python is an interpreted high-level programming language for general purpose programming. カウントする単語:programming 出力:2 上記の例では、「programming」という単語が文中に2回出現しているため、出力は「2」となります。 アルゴリズム wordoccurences(n, p

  12. 【初心者向け】Pythonで文章から重複する単語をすべて削除する方法

    プログラミングでは、与えられた文章から重複する単語を取り除いて整理したい場面がよくあります。本記事では、Pythonの標準ライブラリ「collections.Counter」を活用して、文章内の重複単語を効率的に削除する方法を解説します。処理の概要たとえば、次のような文章が与えられたとします。入力:I am a peaceful soul and blissful soul. 出力:I am a peaceful soul and blissful.このように、「soul」という単語が2回出現している場合、2回目以降の出現を削除し、各単語が1回だけ含まれる文章を作成します。アルゴリズムの手順重

  13. Pythonで3Dリスト(3次元配列)を作成する方法【サンプルコード付き】

    3Dリストとは、いわゆる3次元配列のことです。本記事では、Pythonで3Dリストを作成し、その内容を整形して出力するプログラムを解説します。ここでは例として、文字列「*」を初期値とする3×2×2の3次元リストを生成しますが、仕組みを理解すれば整数など任意の要素を持つ配列にも簡単に応用できます。 3Dリストのイメージ 3次元リストは、リストの中にリスト、さらにその中にリストが入った多段構造のデータです。たとえば、3×3×2の3Dリストは次のように表現できます。 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] アルゴリズム ステップ1:

  14. 生年月日から星座を自動判定して表示するPythonプログラム

    はじめに生年月日(日と月)を入力すると、それに対応する星座(ゾディアックサイン)を自動的に判定して表示するPythonプログラムを紹介します。条件分岐の基本的な使い方を学ぶのに最適な題材です。実行例入力:Day = 13, Month = November 出力:Scorpio(さそり座)アルゴリズムステップ1:生年月日(日と月)を入力する。 ステップ2:その月と日が、特定の星座の有効な期間内に含まれるかどうかを判定する。 ステップ3:該当する星座を表示する。各星座には切り替わりの日付があります。たとえば11月22日より前であれば「さそり座」、22日以降であれば「いて座」といった具合です。この

  15. Pythonで数列「n + nn + nnn + …」をm回計算するプログラムの作成方法

    この記事では、正の整数 n と繰り返し回数 m が与えられたとき、n + nn + nnn + … のように同じ数字を連結した項を m 個足し合わせた数列の合計を求める Python プログラムを解説します。例えば、n = 3、m = 5 の場合、計算対象となる数列は以下の通りです。3 + 33 + 333 + 3333 + 33333 = 37035アルゴリズム処理の手順は以下のようになります。n と m を入力として受け取る。数値 n を文字列に変換する。合計値と文字列を初期化する。残りの項を順番に足し合わせていく。文字列を連結して n、nn、nnn… を生成する。加算する前に、文字列を整

  16. Pythonで文字列の前半と後半が同じ文字セットを持つかどうかを判定する方法

    文字列が与えられたとき、その前半と後半がまったく同じ文字の集合を持っているかどうかを判定するのが、この記事のテーマです。解き方はシンプルです。まず文字列を中央で分割して2つの半分を作り、それぞれの半分に含まれる文字の種類と出現回数を比較します。もし文字列の長さが奇数の場合は、中央の1文字を無視し、残りの部分だけで判定を行います。アルゴリズムの手順ステップ1: 対象となる文字列を受け取ります。ステップ2: 入力文字列を中央で2つの部分に分割します。ステップ3: Counter(iterator) メソッドを使い、両方の部分をそれぞれ辞書(Counterオブジェクト)に変換します。各辞書は「文字を

  17. Pythonで2つのリストの共通要素をすべて出力する方法

    2つのリストが与えられたとき、両方のリストに共通して含まれるすべての要素を出力するPythonプログラムを紹介します。この問題は、セット(set)型の集合演算を使うことで、シンプルかつ効率的に解決できます。 実行例 入力 : L1 = [5, 6, 7, 8, 9] L2 = [5, 13, 34, 22, 90] 出力 : {5} 説明 上記の例では、2つのリストのどちらにも存在する要素は「5」だけなので、出力は {5} となります。 アルゴリズム 処理の手順は以下のとおりです。 ステップ1 : ユーザーから入力を受け取り、2つのリストを作成する。 ステップ2 : 各リ

  18. Pythonで共通しない文字のみを連結した文字列を作成する方法

    この記事では、2つの文字列が与えられたときに、まず一方の文字列から両方に共通する文字をすべて取り除き、続いてもう一方の文字列にのみ含まれる文字を、前者にのみ含まれる文字と連結して新しい文字列を作成する方法を解説します。 具体例 入力 >> 文字列1:AABCD     文字列2:MNAABP 出力 >> CDMNP この例では、「A」と「B」が両方の文字列に共通しているため除外されます。残った文字列1側の「C」「D」と、文字列2側の「M」「N」「P」を連結すると、最終的な出力は「CDMNP」になります。 アルゴリズム uncommonstring(s1, s2)

  19. Pythonでリストのすべてのサブリストを生成して出力する方法

    リストが与えられたとき、そのリストに含まれるすべてのサブリスト(部分リスト)を生成して出力するプログラムを紹介します。要素数 n のリストの場合、空のリストを含めるとサブリストの総数は n×(n+1)/2+1 個になります。 実行例 入力 : list = [1, 2, 3] 出力 : [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] アルゴリズム 考え方はシンプルです。開始位置 i と終了位置 j の組み合わせをすべて試し、スライスで部分リストを取り出します。 ステップ1 : 対象となるリストを用意します。 ステップ2 : 結果を格納するため、最

  20. 【Python入門】数値が正・負・ゼロ、偶数・奇数のどれかを判定するプログラム

    プログラミングの基礎学習において、与えられた数値が偶数か奇数、そして正か負(またはゼロ)かを判定する処理は、条件分岐の考え方を理解するうえで非常に重要な題材です。本記事では、Pythonを使ってこれらの判定を一度に行うプログラムを、アルゴリズムとサンプルコード付きでわかりやすく解説します。 アルゴリズム 判定の手順は以下の通りです。 ステップ1:数値を入力する ステップ2:数値が0以上かどうかを判定する。真であれば「正の数」、偽であれば「負の数」。数値がちょうど0の場合は「ゼロ」とする。 ステップ3:数値が2で割り切れる場合は「偶数」、割り切れない場合は「奇数」と判定する。 サンプルコード 以

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:71/450  20-コンピューター/Page Goto:1 65 66 67 68 69 70 71 72 73 74 75 76 77