0Pricing
Python Academy · レッスン

辞書のメソッド

get、keys、values、items、update、pop を使います。

「辞書のメソッド」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。

概要

Python の dict には、データをマージ、変換し、安全にアクセスするための豊富なメソッドがあります。

keys()、values()、items()

これらは dict の変更を反映するビューオブジェクトを返します。スナップショットが必要な場合は list に変換してください。
d = {'a': 1, 'b': 2}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

update()

d.update({'c': 3, 'd': 4}) は別の dict をマージします。既存のキーは上書きされます。
d = {'a': 1}
d.update({'b': 2, 'a': 99})
print(d)

デフォルト値付きの pop()

d.pop('key', default) は値を削除して返します。キーが存在せず、デフォルト値も指定されていない場合は KeyError が発生します。
d = {'a': 1, 'b': 2}
val = d.pop('a')
print(val, d)

popitem()

d.popitem() は最後に挿入された (key, value) ペアを削除して返します。空の dict では KeyError が発生します。
d = {'a': 1, 'b': 2}
print(d.popitem())
print(d)

setdefault()

d.setdefault('key', default) はキーが存在しない場合にデフォルト値を挿入し、その値を返します。get と set の繰り返しを避けられます。
d = {}
d.setdefault('count', 0)
d['count'] += 1
print(d)

| によるマージ(Python 3.9以降)

d1 | d2 は新しいマージ済み dict を返します。d1 |= d2 は d1 をその場で更新します。update() より簡潔です。
d1 = {'a': 1}
d2 = {'b': 2}
print(d1 | d2)

copy() と deepcopy()

d.copy() はシャローコピーを作成します。ネストした dict には、参照の共有を避けるため copy.deepcopy(d) を使います。
import copy
d = {'a': [1,2]}
deep = copy.deepcopy(d)
deep['a'].append(3)
print(d, deep)

collections の Counter

from collections import Counter; Counter('banana') は文字の頻度を自動的に数えます。
from collections import Counter
c = Counter('banana')
print(c)

defaultdict

from collections import defaultdict; d = defaultdict(list) は、存在しないキーに対して空のリストを自動的に作成します。
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
print(d)

OrderedDict(レガシーに関する注記)

Python 3.7 以降では、通常の dict が挿入順を保持します。それでも OrderedDict は move_to_end() や順序を考慮した等価性の判定に便利です。
from collections import OrderedDict
od = OrderedDict({'a':1,'b':2})
od.move_to_end('a')
print(list(od))

確認問題

'key' が d に存在しない場合、d.setdefault('key', 0) は何をしますか。

まとめ

dict のメソッドには update、pop/popitem、setdefault、copy/deepcopy があります。頻度のカウントには Counter、存在しないキーの確認を避けるには defaultdict、マージには |(3.9以降)を使います。

次へ進む

よくできました。次のレッスンに進み、引き続きスキルを身につけていきましょう。

よくある質問

「辞書のメソッド」レッスンは無料ですか?

はい。「辞書のメソッド」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。

「辞書のメソッド」で何を学びますか?

get、keys、values、items、update、pop を使います。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「辞書のメソッド」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 辞書の基礎
  2. 辞書のメソッド
  3. 集合と集合演算
  4. 辞書内包表記
← Python Academyに戻る