Python

スポンサーリンク
Python

Python | データ構造強化:データ構造の選択基準

概要(「何をしたいか」から逆算してデータ構造を選ぶ)データ構造は「どんな操作を、どれくらいの規模で、どんな制約の下で行うか」で選びます。最重要ポイントは、必要な操作(検索・追加・削除・並べ替え・集計)...
Python

Python | データ構造強化:any / all 条件判定

概要(any / all は「ひとつでも満たす」「全部満たす」を一瞬で判定する心臓部)any と all は、並んだ条件の集合から「ひとつでも満たすか(any)」「全部満たすか(all)」を短く判定す...
Python

Python | データ構造強化:内包表記で条件付き

概要(内包表記の「条件付き」は“選ぶ・変換する”を1行で完結させる技)内包表記に条件を組み込むと、要素を選び(フィルタ)ながら、必要に応じて変換(if-else)までを1行で書けます。for+appe...
Python

Python | データ構造強化:スタック

概要(スタックは「最後に入れたものが最初に出る」LIFOの基本構造)スタックは LIFO(Last-In, First-Out)で要素を管理するデータ構造です。直前の操作を元に戻す「Undo」、括弧の...
Python

Python | データ構造強化:キュー

概要(キューは「先に入れたものが先に出る」安全な順序制御の基本構造)キューは、FIFO(First-In, First-Out)で要素を管理するデータ構造です。タスクの順序制御、イベントの順序処理、ス...
Python

Python | データ構造強化:辞書内のリスト操作

概要(辞書の値にリストを持たせて「グループ化・順次追加」を安全に扱う)辞書の中にリストを入れると、「キーごとに複数の要素」を自然に管理できます。たとえばカテゴリごとの商品一覧、ユーザーごとの履歴、タグ...
Python

Python | データ構造強化:タプルのアンパック

概要(タプルのアンパックは「並んだ値を並んだ変数へ一度に割り当てる」)タプルのアンパックは、複数の値を一度に複数の変数へ代入する文法です。インデックスを使わず「意味のある名前」に直で割り当てられるので...
Python

Python | データ構造強化:二次元リストのループ

概要(二次元リストのループは「外側=行、内側=列」を丁寧にまわすのが基本)二次元リストは「リストの中にリスト」を持つ入れ子構造です。ループは外側で行(row)を、内側で列(value)を走査するのが基...
Python

Python | データ構造強化:リストの二次元構造

概要(二次元リストは「表形式(行×列)」を素直に表す入れ子構造)二次元リストは「リストの中にリスト」を入れる構造で、表や行列のようなデータを自然に扱えます。行は外側リストの要素、列は内側リストの要素と...
Python

Python | データ構造強化:sorted の key

概要(sorted の key は「並べ替えの基準」を自由に設計するための心臓部)sorted は「イテラブルを並べ替えて新しいリストを返す」関数で、key は「要素から並べ替えの基準値を取り出す関数...
Python

Python | データ構造強化:dict の更新

概要(dict の更新は「追加・上書き・統合」を最短で安全に行う技法)辞書 dict はキーと値のペアを扱う可変データ構造です。更新は「代入で1件」「updateで複数件」「マージ演算子で統合」の3本...
Python

Python | データ構造強化:zip のアンパック

概要(zip のアンパックは「行と列をひっくり返す」基本テクニック)zip は複数のイテラブルを「対応する位置でペア化」する関数です。アンパック(*演算子)を組み合わせると、zip で作ったペアを「元...
Python

Python | データ構造強化:list の内包最適化

概要(「内包表記」を正しく使えば“短く・速く・安全”に書ける)リスト内包表記は、既存データから新しいリストを「1行」で作るための記法です。for と append を並べるより、処理の意図が明確で速く...
Python

Python | データ構造強化:ディープコピー(copy.deepcopy)

概要(ディープコピーは「入れ物も中身も全部“別物”にする」コピー)copy.deepcopy は、リストや辞書などの入れ子構造を含むオブジェクトを「最上位から末端まで」再帰的にコピーして、完全に独立し...
Python

Python | データ構造強化:リストのシャローコピー

概要(シャローコピーは「外側だけ新しく、中身は同じものを指す」コピー)リストのシャローコピー(浅いコピー)は、リストそのもの(外側の入れ物)だけを新しく作り、要素がオブジェクトならその参照をそのままコ...
Python

Python | データ構造強化:set の排他的論理和

概要(set の排他的論理和は「片方にしかない要素だけ」をまとめる)排他的論理和(symmetric difference)は、集合 A と集合 B のうち「どちらか一方にしか含まれない要素」だけを取...
Python

Python | データ構造強化:set の差集合

概要(set の差集合は「片方だけにある要素」を取り出す基本操作)差集合(difference)は、集合 A から集合 B に含まれる要素を取り除いた結果です。順序はなく、重複は自動的に排除されます。...
Python

Python | データ構造強化:set の和集合

概要(set の和集合は「重複を除いて全部まとめる」基本操作)和集合(union)は、複数の集合の要素を重複なしでまとめた結果を返します。順序は保証されず、同じ値は1つに統合されます。Python で...
Python

Python | データ構造強化:set の積集合

概要(set の積集合は「共通して含まれる要素だけ」を取り出す基本操作)積集合(intersection)は、複数の集合に共通して含まれる要素だけを取り出します。重複は自動的に排除され、順序はありませ...
Python

Python | データ構造強化:itertools.groupby

概要(groupby は「連続する同じキーでまとまりを作る」ための基本ツール)itertools.groupby は、並んだデータを「キーが同じものが連続している区間」ごとにグループ化するイテレータで...
Python

Python | データ構造強化:itertools.combinations

概要(combinations は「順番を無視した取り合わせ」を遅延生成する)itertools.combinations は、イテラブルから要素を r 個選ぶすべての“組み合わせ”を順に返すイテレー...
Python

Python | データ構造強化:itertools.permutations

概要(permutations は「順番を考慮した並べ方」を遅延生成で作る)itertools.permutations は、イテラブルの要素を「順番を考慮して並べ替えたすべての並び(順列)」を順に返...
Python

Python | データ構造強化:itertools.product

概要(product は「直積=すべての組み合わせ」を省メモリで生成する)itertools.product は複数のイテラブル(リスト、文字列、range など)から「取りうるすべての組み合わせ(デ...
Python

Python | データ構造強化:collections.OrderedDict

概要(OrderedDict は「挿入順や並べ替えを意図的に扱える辞書」)collections.OrderedDict は「辞書の順序」を明確に扱うための拡張辞書です。Python 3.7以降、通常...
Python

Python | データ構造強化:collections.deque

概要(deque は両端から高速に追加・削除できる「双方向キュー」)collections.deque(デック)は、先頭と末尾のどちら側からでも高速に要素を追加・削除できるデータ構造です。リストが先頭...
Python

Python | データ構造強化:collections.defaultdict

概要(defaultdict は「未登録キーに自動で初期値を入れる」辞書)collections.defaultdict は、存在しないキーにアクセスした瞬間に「初期値」を自動作成してくれる辞書です。...
Python

Python | データ構造強化:collections.Counter

概要(Counter は「要素の出現回数」を一瞬で数える専用辞書)collections.Counter は、リストや文字列など「繰り返し可能なデータ」に含まれる各要素が何回出てきたかを数えるためのク...
Python

Python | ファイル操作など:プログラム構造の基本

概要(「読みやすく、壊れにくい」プログラム構造の土台を作る)プログラム構造の基本は、役割ごとにコードを分けて、入口と出口を明確にし、外部資源(ファイル・フォルダ)を安全に扱い、失敗に備えることです。初...
Python

Python | ファイル操作など:例外の種類

概要(「例外」は失敗を安全に扱うための仕組み)例外は、処理が想定外の状態になったときに「止める/切り替える」ための信号です。Python では try/except/else/finally で「失敗...
Python

Python | ファイル操作など:エスケープシーケンス

概要(エスケープシーケンスは「文字列の中で特別な文字を表す」仕組み)エスケープシーケンスは、文字列の中に直接書きにくいもの(改行、タブ、クォート、バックスラッシュなど)を、バックスラッシュ「\」を使っ...
Python

Python | ファイル操作など:format

概要(format は「見せ方を指定して、値を文字列に埋め込む」ための基本)format は2つあります。ひとつは文字列のメソッド str.format()("{}" に値を差し込む)、もうひとつは組...
Python

Python | ファイル操作など:round

概要(round は「数値を指定桁で丸める」ための基本関数)round は、数値を最も近い値へ丸める組み込み関数です。小数点以下の桁数を指定でき、桁数を省略すると整数へ丸めます。重要なのは「Pytho...
Python

Python | ファイル操作など:timedelta

概要(timedelta は「時間差・期間」を安全に計算するための基本)timedelta は「何日・何時間・何分」などの“時間の長さ”や“差”を表すオブジェクトです。date/datetime と足...
Python

Python | ファイル操作など:datetime 基本

概要(datetime は「日付と時刻」を安全・正確に扱うための標準ツール)datetime は、今日の日時取得、足し算引き算、表示形式への変換、文字列からのパース、タイムゾーン対応までを一通りこなせ...
Python

Python | ファイル操作など:shutil.copy

概要(shutil.copy は「ファイルを別の場所へコピーする」高レベル関数)shutil.copy は、指定した1つの“ファイル”を別のパスへコピーする標準ライブラリの関数です。コピー先が「ファイ...
Python

Python | ファイル操作など:os.remove

概要(os.remove は「ファイルを1つ削除する」ための基本関数)os.remove は、指定したパスの“ファイル”を削除する関数です。直感的ですが、重要なのは「削除対象はファイルのみ(ディレクト...
Python

Python | ファイル操作など:os.mkdir

概要(os.mkdir は「新しいフォルダを1つ作る」ための基本関数)os.mkdir は、指定した場所にディレクトリ(フォルダ)を1つ作成する関数です。作る場所の親フォルダが存在していることが前提で...
Python

Python | ファイル操作など:os.listdir

概要(os.listdir は「フォルダの中身の名前一覧」を取得する基本関数)os.listdir は、指定したディレクトリに存在する「ファイル名やサブディレクトリ名」をまとめてリストで返します。中身...
Python

Python | ファイル操作など:pathlib.Path

概要(pathlib.Path は「パスを文字列ではなくオブジェクトで扱う」現代的なやり方)pathlib は標準ライブラリで、ファイルやフォルダの“パス”を Path オブジェクトとして安全・直感的...
Python

Python | ファイル操作など:JSON 読み書き

概要(JSON は「辞書やリストをそのまま保存・交換できる」テキスト形式)JSON は、辞書やリストをそのままテキストにしたようなデータ形式です。Python では標準ライブラリの json モジュー...
Python

Python | ファイル操作など:CSV 読み書き

概要(CSV は「表データをテキストでやり取りする」最小で強力な形式)CSV はカンマ区切りのテキストで表データを保存する形式です。Python では標準ライブラリの csv モジュールで、追加インス...
Python

Python | ファイル操作など:with 文

概要(with 文は「後片付けを自動化して安全にする」ための構文)with 文は、ファイルやネットワーク接続など「使ったら必ず片付けが必要」な資源を、安全・簡潔に扱うための構文です。ブロックを抜けるタ...
Python

Python | ファイル操作など:write

概要(write は「ファイルに内容を書き込む」ための基本メソッド)write は、open で開いたファイルオブジェクトに文字列(テキスト)または bytes(バイナリ)を書き込むメソッドです。テキ...
Python

Python | ファイル操作など:readlines

概要(readlines は「全ての行を一度にリストで受け取る」ためのメソッド)readlines は、open で開いたファイルオブジェクトから「全行」をまとめて読み込み、各行を要素とするリストを返...
Python

Python | ファイル操作など:readline

概要(readline は「ファイルを1行ずつ取り出す」ための基本メソッド)readline は、open で開いたファイルオブジェクトから「次の1行」を文字列(テキスト)または bytes(バイナリ...
Python

Python | ファイル操作など:read

概要(read は「ファイルから内容を取り出す」ための基本メソッド)read は、open で開いたファイルオブジェクトから中身を取り出すメソッドです。テキストなら文字列、バイナリなら bytes を...
Python

Python | ファイル操作など:open()

概要(open は「ファイルを開いて読み書きする入口」)open() はファイルを開いて「ファイルオブジェクト」を返す組み込み関数です。読み込み、書き込み、追記、バイナリ操作までこれ一つで行えます。重...
Python

Python | 関数:help()

概要(help は「その場で公式説明を表示する」学習の最強の入口)help() は、関数・クラス・モジュールなどの「公式説明(docstring)」を即座に表示する組み込み関数です。Web検索に行かな...
Python

Python | 関数:dir()

概要(dir は「そのオブジェクトが持つ名前一覧」を教えてくれる内省の基本)dir() は、オブジェクトが持つ属性名(メソッド、プロパティ、定数など)をリストで返す組み込み関数です。初めて触るモジュー...
Python

Python | 関数:標準ライブラリを見る方法

概要(標準ライブラリは「電池付き」=追加インストールなしで使える便利な道具箱)Pythonはインストール直後から大量の便利モジュールを同梱しています。数学計算、日付時刻、ファイル操作、文字列処理などが...
Python

Python | 関数:from import

概要(from import は「必要な名前だけを直接使えるようにする」ための記法)from import は、モジュール全体ではなく“特定の関数・クラス・定数”だけを取り出して、前置なしで直接使える...
Python

Python | 関数:import の基本

概要(import は「他のファイルやライブラリの機能を使えるようにする」仕組み)import は、他のモジュール(Pythonファイル)やライブラリにある関数・クラス・定数を自分のコードで使えるよう...
Python

Python | 関数:モジュールとは

概要(モジュールは「機能ごとに分けた Python ファイル」で再利用の単位)モジュールとは、関数・クラス・定数などをひとまとめにした Python ファイル(.py)のことです。目的別にコードを分割...
Python

Python | 関数:再帰

概要(再帰は「自分自身を呼び出して問題を小さく解く」ための仕組み)再帰は、関数の中でその関数自身を呼び出すテクニックです。ポイントは、問題を「少し小さい同じ形」に分解し、最終的に簡単に答えられる“基底...
Python

Python | 関数:id

概要(id は「そのオブジェクトだけに割り当てられた識別値」を返す)id は、渡したオブジェクトの“同一性”を表す識別値(identity)を返す組み込み関数です。これにより「2つの変数が同じオブジェ...
Python

Python | 関数:isinstance

概要(isinstance は「型やサブクラスまで含めた安全な型チェック」)isinstance は、渡した値が指定した型(クラス)か、またはそのサブクラスであるかを真偽値で返す組み込み関数です。Py...
Python

Python | 関数:type()

概要(type は「その値が何者か」を一瞬で教えてくれる基本関数)type は、オブジェクト(数値、文字列、リスト、関数、クラスのインスタンスなど)の「型(クラス)」を返す組み込み関数です。Pytho...
Python

Python | 関数:ドキュメンテーション文字列

概要(docstring は「使い方」をコードの中に残す公式な説明書)ドキュメンテーション文字列(docstring)は、関数・メソッド・クラス・モジュールの定義直後に書く、三重引用符で囲まれた説明文...
Python

Python | 関数:クロージャ

概要(クロージャは「外側の値を覚えた関数」をつくる仕組み)クロージャは、関数の中で定義した内側関数が「外側の関数の変数」を覚えたまま動く仕組みです。外側関数の実行が終わっても、その値を保持し続けます。...
Python

Python | 関数:関数内関数

概要(関数内関数は「外側の処理専用の小さな関数」をその場で持つための仕組み)関数内関数(ネスト関数)は、ある関数の内部で別の関数を定義する書き方です。外側の関数にだけ関係する処理を内側に閉じ込めること...
スポンサーリンク