Skip to Content
Fluent Python 第2版 ―Pythonicな思考とコーディング手法
book

Fluent Python 第2版 ―Pythonicな思考とコーディング手法

by Luciano Ramalho, 牧野 聡
November 2025
Intermediate to advanced
984 pages
16h 17m
Japanese
O'Reilly Japan, Inc.
Content preview from Fluent Python 第2版 ―Pythonicな思考とコーディング手法

3章ディクショナリとセット

Pythonとは本質的に、ディクショナリをさまざまな糖衣構文でラップしたものにすぎません。

—— Lalo Martins

黎明期からのデジタルノマドでありPythonista

ディクショナリはあらゆるPythonプログラムで使われています。たとえコードの中から直接呼び出してはいなくても、Pythonの実装の基礎的な要素としてdictは間接的に利用されています。クラスやインスタンスの属性、モジュールの名前空間、関数のキーワード引数などはメモリ上でディクショナリとして扱われます。また、__builtins__.__dict__にはすべての組み込みの型やオブジェクトそして関数が格納されています。

その重要な役割ゆえに、Pythonのディクショナリには高度な最適化が施されており、今も改善が続けられています。Pythonの高性能なディクショナリの実装の内部では、ハッシュテーブルが使われています。

setfrozensetなどの組み込み型も、ハッシュテーブルを利用しています。これらの型は、他の多くの言語におけるセットよりも豊富なAPIや演算子を備えています。Pythonのセットには、集合理論での基本的な操作(和集合、積集合、包含の判定など)のすべてが実装されているという大きな特徴があります。これらを使えば、アルゴリズムをより宣言的に表現でき、多重のループや条件分岐は必要ありません。

この章では主に以下の事柄を学びます。

  • dictやマッピングを作成して扱うための新しい構文。拡張されたアンパックやパターンマッチングなど
  • マッピングの型でよく使われるメソッド
  • 存在しないキーのための特別な処理
  • 標準ライブラリに含まれる各種のディクショナリ
  • set型とfrozenset ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Fluent Python ―Pythonicな思考とコーディング手法

Fluent Python ―Pythonicな思考とコーディング手法

Luciano Ramalho, 豊沢 聡, 桑井 博之, 梶原 玲子
Architecture Patterns with Python

Architecture Patterns with Python

Harry Percival, Bob Gregory

Publisher Resources

ISBN: 9784814401284Publisher Website