-
Pythonのリスト(list)データ型とは?基本操作と使い方を解説
リスト(list)は、Pythonの複合データ型の中で最も汎用性が高いデータ型です。リストは、複数の要素をカンマで区切り、角括弧 [ ] で囲んで表現します。C言語の配列と似た性質を持っていますが、最大の違いは、リストの各要素に異なるデータ型を混在させられる点です。リストの主な特徴文字列・整数・浮動小数点数など、異なるデータ型を1つのリストに格納できるインデックスは先頭が 0 から始まり、末尾の要素は -1 でアクセスできる+ 演算子でリスト同士を連結できる* 演算子でリストを指定回数だけ繰り返せるスライス演算子による要素へのアクセスリストに格納された値には、スライス演算子([ ] および [
-
Pythonのタプル(tuple)データ型とは?基本と使い方を徹底解説
タプル(tuple)とはタプルは、リストとよく似たもう一つのシーケンス型(シーケンスデータ型)です。タプルは、カンマで区切られた複数の値によって構成されます。リストとの大きな違いは、タプルが丸括弧 ( ) で囲まれるという点です。リストとタプルの主な違いリストとタプルの違いは、次のようにまとめられます。リストは角括弧 [ ] で囲み、要素やサイズを後から変更できる。タプルは丸括弧 ( ) で囲み、一度作成すると更新できない。そのため、タプルは「読み取り専用(read-only)のリスト」と考えることができます。変更されない固定データを扱いたい場合に、タプルは非常に便利です。タプルの基本的な使い
-
Pythonの辞書(dict)型とは?キーと値でデータを扱う基本を解説
Pythonの辞書(dict)は、いわゆるハッシュテーブルの一種です。Perlなどの言語で見られる連想配列やハッシュと同じように動作し、キー(key)と値(value)のペアでデータを管理します。キーにはほぼすべてのPythonの型を使用できますが、一般的には数値や文字列が使われます。一方、値には任意のPythonオブジェクト(文字列、数値、リスト、タプルなど)を自由に格納できます。辞書の基本的な使い方辞書は波括弧({ })で囲んで定義し、各要素へのアクセスや代入には角括弧([ ])を使います。以下に具体的な例を示します。#!/usr/bin/python3 # 空の辞書を作成 d = {}
-
Pythonのデータ型変換関数一覧と使い方|int・str・floatなどをわかりやすく解説
Pythonにおけるデータ型変換とはPythonでは、処理の中であるデータ型から別のデータ型へ値を変換したい場面がよくあります。たとえば、ユーザー入力として受け取った文字列を数値として計算したり、数値を読みやすい形で文字列に整えたりするケースです。Pythonの型変換(キャスト)は非常にシンプルで、型名をそのまま関数のように呼び出すだけで実行できます。組み込みの変換関数が多数用意されており、いずれも変換結果を表す新しいオブジェクトを返すのが特徴です。主な型変換関数の一覧以下に、Pythonで利用できる代表的なデータ型変換関数をまとめました。No.関数説明1int(x [, base])xを整数
-
Pythonの演算子の種類をわかりやすく解説!7つの基本カテゴリ一覧
Pythonの演算子とは?演算子(Operator)とは、オペランド(被演算子)の値を操作・処理するための記号やキーワードのことです。例として「4 + 5 = 9」という式を見てみましょう。この場合、4と5が「オペランド(被演算子)」と呼ばれ、+が「演算子」と呼ばれます。Python言語では、目的に応じて複数の種類の演算子が用意されており、これらを使いこなすことが効率的なプログラミングの第一歩となります。Pythonでサポートされている7種類の演算子Pythonでは、主に以下の7種類の演算子がサポートされています。1. 算術演算子(Arithmetic Operators)足し算(+)、引き算
-
Pythonの算術演算子一覧|加算から切り捨て除算までの使い方と実行例
Pythonには、四則演算をはじめとする数値計算を行うための算術演算子が標準で用意されています。本記事では、代表的な7種類の算術演算子について、それぞれの動作を一覧表とサンプルコードでわかりやすく解説します。 まず、変数aに10、変数bに20が代入されているものとして、各演算子の挙動を確認しましょう。 No.演算子と説明使用例 1+ 加算演算子の左辺と右辺の値を足し合わせます。a + b = 30 2- 減算左辺の値から右辺の値を引きます。a - b = -10 3* 乗算左辺と右辺の値を掛け合わせます。a * b = 200 4/ 除算左辺の値を右辺の値で割ります。b / a = 2
-
【Python入門】比較演算子の種類と使い方をサンプルコード付きで解説
比較演算子は、左右に置かれた2つの値を比較して、その関係性を判定するための演算子です。「リレーショナル演算子」と呼ばれることもあります。比較の結果は、条件が成り立てば True(真)、成り立たなければ False(偽) として返されます。 以下の表では、変数 a に 10、変数 b に 20 が代入されている場合を例に、各演算子の動作を説明します。 主な比較演算子の一覧 番号演算子と説明例 1==左辺と右辺の値が等しい場合に、条件式が True になります。(a == b) → False 2!=左辺と右辺の値が等しくない場合に、条件式が True になります。(a != b) →
-
Pythonの代入演算子とは?基本の「=」から複合代入演算子まで徹底解説
Pythonの代入演算子とは代入演算子は、変数に値を格納(代入)するために使用される演算子です。Pythonでは、最も基本的な「=」のほかに、計算と代入を同時に行える「複合代入演算子」(+=、-=、*= など)が用意されており、コードをより簡潔に記述できます。ここでは、変数 a が 10、変数 b が 20 を保持している場合を例に、各代入演算子の動作を確認していきましょう。代入演算子の一覧番号演算子と説明使用例1=(代入)右側のオペランドの値を、左側のオペランドに代入します。c = a + b → a + b の計算結果を c に代入2+=(加算代入)左オペランドに右オペランドを加算し、その
-
Pythonのビット演算子とは?種類と使い方を実例付きでわかりやすく解説
Pythonのビット演算子とはビット演算子は、数値を2進数のビット列として扱い、ビット単位で計算を行う演算子です。Pythonでは主に6種類のビット演算子が用意されており、フラグ管理やマスク処理など低レベルなデータ操作で活躍します。ここでは、次の2つの変数を例に各演算子の動作を見ていきます。a = 60 → 0011 1100 b = 13 → 0000 1101これらの変数に対して基本のビット演算を行うと、結果は以下のようになります。a & b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001 ~a =
-
Pythonの論理演算子(and・or・not)の使い方を徹底解説
Pythonの論理演算子とは Pythonでは、複数の条件を組み合わせて評価するための論理演算子が用意されています。主な論理演算子は「and」「or」「not」の3種類です。 ここでは、変数 a に 10、変数 b に 20 が代入されている場合を例に、それぞれの演算子の動作を解説します。 1. and(論理積) 両方のオペランドが真(True)である場合にのみ、条件全体が真になります。どちらか一方でも偽(False)であれば、結果は偽となります。 15) # True 2. or(論理和) 2つのオペランドのうち、どちらか一方でもゼロ以外(真)であれば、条件全体が真になります。両方が
-
Pythonのメンバーシップ演算子(in / not in)の使い方を徹底解説
Pythonのメンバーシップ演算子は、文字列やリスト、タプルなどのシーケンス(系列)の中に、特定の値が含まれているかどうかを判定するための演算子です。Pythonには「in」と「not in」の2種類のメンバーシップ演算子が用意されています。 メンバーシップ演算子の一覧 番号演算子と説明使用例 1in指定したシーケンスの中に変数が存在する場合はTrue、存在しない場合はFalseを返します。x in y:xがシーケンスyの要素であればTrueになります。 2not in指定したシーケンスの中に変数が存在しない場合はTrue、存在する場合はFalseを返します。x not in y:xが
-
Pythonの演算子の優先順位とは?優先度一覧表とコード例でわかりやすく解説
Pythonでは、1つの式の中に複数の演算子が含まれている場合、あらかじめ決められた演算子の優先順位に従って評価が行われます。優先順位の高い演算子ほど先に処理されるため、このルールを正しく理解することは、意図した通りの計算結果を得るうえで非常に重要です。 以下の表は、Pythonの主な演算子を優先順位の高い順(上位から下位へ)に並べたものです。 番号演算子と説明 1**べき乗(累乗)演算 2~ + -補数(ビット反転)、単項プラスと単項マイナス(後ろ2つのメソッド名は +@ と -@) 3* / % //乗算、除算、剰余(余りの計算)、切り捨て除算 4+ -加算と減算 5>> &l
-
Pythonのループ制御ステートメント徹底解説!break・continue・passの使い方
Pythonのループ制御ステートメントとは? ループ制御ステートメントは、プログラムの通常の実行フローを変更するための構文です。実行がスコープから離れると、そのスコープ内で生成されたすべての自動オブジェクトは破棄されます。 Pythonで利用できる主なループ制御ステートメントは、break、continue、pass の3つです。それぞれの特徴と具体的な使い方を見ていきましょう。 Pythonのループ制御ステートメント一覧 No.ステートメントと説明 1break文現在実行中のループを即座に終了し、ループの直後に続くステートメントへ処理を移します。 2continue文ループ本体の残り
-
【Python】リンクリストが回文かどうかを判定するアルゴリズム
回文リンクリストとはリンクリスト(連結リスト)が与えられたとき、その要素が回文(前から読んでも後ろから読んでも同じ並び)になっているかどうかを判定する問題です。例えば、リストの要素が [1,2,3,2,1] のような場合は回文であるため True を返し、[1,2,3] のような場合は回文ではないため False を返します。アルゴリズムの手順この問題は、fast / slow の2つのポインタを使ってリストの中央を特定し、前半部分を逆順に反転させたうえで後半部分と比較することで、追加メモリなしに O(n) 時間で解くことができます。fast := head、slow := head、rev
-
Pythonで最短の「ソートされていない連続部分配列」を見つける方法
整数配列が与えられたとき、「その部分配列だけを昇順にソートすれば、配列全体がソート済みの状態になる」という条件を満たす連続する部分配列の中で、最も短いものを求めてその長さを出力することを考えます。 例えば、配列が [2,6,4,8,10,9,15] の場合、答えは 5 になります。これは、[6,4,8,10,9] の部分だけを昇順に並べ替えると、配列全体が [2,4,6,8,9,10,15] と完全にソートされた状態になるためです。 解法のアプローチ この問題は、次の手順で解くことができます。 元の配列 nums を昇順にソートしたコピー res を作成します。 各インデックス i について
-
Pythonで非減少配列を判定する方法:最大1要素の変更で解くアルゴリズム
問題の概要 n個の整数からなる配列が与えられます。求めたいのは、最大1つの要素だけを変更して、その配列を「非減少配列(non-decreasing array)」にできるかどうかの判定です。 ここで非減少配列とは、すべてのインデックス i(1 ≤ i < n)に対して array[i] <= array[i + 1] が成り立つ配列を指します。 例として、配列が [4,2,3] の場合を考えてみましょう。先頭の 4 を 1 に変更すれば [1,2,3] となり、非減少配列へ変換できるため、答えは True になります。 解法のアプローチ この問題は、配列を左から順に走査し、「降順
-
PythonでK回の符号反転後に配列の合計を最大化する
問題概要 整数の配列 A が与えられます。この配列に対して、次の操作をちょうど K 回行うことを考えます。 任意のインデックス i を選び、A[i] を -A[i] に置き換える(符号を反転する) すべての操作を行ったあとの配列の合計として、考えられる最大値を求めるのがこの問題です。 例: A = [4, 2, 3]、K = 1 の場合、出力は 5 になります。インデックス 1 を選んで反転すると配列は [4, -2, 3] となり、合計は 4 + (-2) + 3 = 5 となるからです。 解法の考え方(貪欲法) この問題は貪欲法で解くのが有効です。基本となる発想は次の通りです。 負
-
Pythonで数字列を英小文字に復号化するアルゴリズムを解説
問題の概要数字(0〜9)と # で構成される文字列 s が与えられます。この文字列を、以下のルールに従って英語の小文字アルファベットへと復号化します。文字 a 〜 i は、それぞれ 1 〜 9 に対応します。文字 j 〜 z は、それぞれ 10# 〜 26# に対応します。例えば、入力が「10#11#12」の場合、出力は「jkab」となります。「10#」が j、「11#」が k、「1」が a、「2」が b に対応するためです。なお、常に一意なマッピングが存在すると仮定してよいものとします。解法のアプローチこの問題は、文字列を後ろから走査することで効率的に解けます。手順は以下の通りです。1〜26
-
Pythonの数学関数一覧|abs・ceil・sqrtなどの使い方と戻り値を徹底解説
Pythonの数学関数とは Pythonには、絶対値・切り上げ・切り下げ・対数・平方根などの数値計算を行うための関数が標準で用意されています。その多くはmathモジュールに含まれており、import mathと記述することで利用できます。一方、abs()、max()、min()、round()は組み込み関数として提供されているため、インポートせずにすぐ使えるのが特徴です。 以下に、代表的な数学関数とその戻り値を一覧形式でまとめました。 No.関数説明(戻り値) 1abs(x)xの絶対値。xと0の間の(正の)距離を返します。 2ceil(x)xの切り上げ値。x以上となる最小の整数を返し
-
【初心者向け】Pythonの乱数関数まとめ!randomモジュールの使い方を徹底解説
乱数は、ゲーム開発、シミュレーション、テスト、セキュリティ、プライバシー保護など、幅広い分野で活用されています。Pythonでは標準ライブラリの random モジュールを使うことで、これらの乱数を簡単に生成することができます。 この記事では、Pythonでよく使われる代表的な乱数関数を一覧表とコード例つきでわかりやすく解説します。 Pythonの主な乱数関数一覧 No.関数名説明 1choice(seq)リスト・タプル・文字列などのシーケンスから、ランダムに要素を1つ選んで返します。 2randrange([start] stop [,step])range(start, stop