2章リストと辞書

多くのプログラムが人間よりも機械に向いている反復的な作業を自動化するために書かれています。Pythonで、この種の作業を処理する一般的な手法は、list型に格納した値のシーケンスを使うものです。リストは何にでも利用でき、さまざまな問題を解くのに使えます。

リストの相棒に、(連想配列あるいはハッシュ表とも呼ばれる方式で)検索キーを対応する値にマップするdict型があります。辞書(dict型)は代入とアクセスが(ならし)定数性能なので、動的な情報の記録管理に理想的です。

Pythonは特別な構文とモジュールにより、読みやすさが向上し、他の言語の単純な配列、ベクトル、ハッシュ表により、期待以上に便利な機能を提供します。

項目11 シーケンスをどのようにスライスするか知っておく

Pythonには、シーケンスをスライスする構文があります。スライスすればシーケンスの要素の部分集合に最小限の労力でアクセスできます。最も単純なスライスに使うのは、list, str, bytesという組み込み型です。スライスは特殊メソッド__getitem__および__setitem__を実装したPythonクラスにも使えます(「項目43 カスタムコンテナ型はcollections.abcを継承する」参照)。

スライス構文の基本形は、somelist[start:end]です。startの要素が含まれ、endの要素は含まれません。

a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] print('Middle two: ', a[3:5]) print('All but ends:', a[1:7]) >>> Middle two: ['d', 'e'] ...

Get Effective Python 第2版 ―Pythonプログラムを改良する90項目 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.