0Pricing
Python Academy · レッスン

辞書の基礎

dict を作成し、キーで値にアクセスして反復処理します。

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

概要

辞書はキーと値のペアを格納し、平均 O(1) で検索できます。キーはハッシュ可能である必要がありますが、値には何でも指定できます。

dict の作成

d = {'name': 'Alice', 'age': 30} または d = dict(name='Alice', age=30) とします。キーは一意で、ハッシュ可能である必要があります。
d = {'name': 'Alice', 'age': 30}
print(d)

値へのアクセス

d['name'] は 'Alice' を返します。キーが存在しない場合は KeyError が発生します。安全にアクセスするには d.get('key') を使います。
d = {'name': 'Alice'}
print(d['name'])
print(d.get('missing', 'default'))

追加と更新

d['city'] = 'NYC' は新しいキーを追加します。d['age'] = 31 は既存のキーを更新します。dict は変更可能です。
d = {'name': 'Alice'}
d['age'] = 30
print(d)

キーの削除

del d['key'] はキーを削除します(存在しない場合は KeyError が発生します)。d.pop('key') はキーを削除し、その値を返します。
d = {'a': 1, 'b': 2}
del d['a']
print(d)

キーの存在確認

'name' in d は、'name' がキーであれば True を返します。条件式で d['name'] を使わないでください。キーがない場合は KeyError が発生します。
d = {'name': 'Alice'}
print('name' in d)
print('age' in d)

キーの反復処理

for key in d: はキーを反復処理します。for key in d.keys(): も同じ意味です。for val in d.values(): は値を反復処理します。
d = {'a': 1, 'b': 2}
for key in d:
    print(key, d[key])

要素の反復処理

for k, v in d.items(): を使うと、各反復でキーと値の両方を取得できます。最も一般的なパターンです。
d = {'a': 1, 'b': 2}
for k, v in d.items():
    print(f'{k}: {v}')

ネストした辞書

user = {'name': 'Alice', 'address': {'city': 'NYC'}}; user['address']['city'] は 'NYC' を返します。
user = {'name': 'Alice', 'address': {'city': 'NYC'}}
print(user['address']['city'])

2つのリストから dict を作成する

dict(zip(keys, values)) は、2つの並列なリストから dict を作成します。
keys = ['a', 'b', 'c']
vals = [1, 2, 3]
d = dict(zip(keys, vals))
print(d)

dict によるカウント

dict を頻度カウンターとして使います: for ch in text: counts[ch] = counts.get(ch, 0) + 1
text = 'hello'
counts = {}
for ch in text:
    counts[ch] = counts.get(ch, 0) + 1
print(counts)

確認問題

キーが存在しない場合に、デフォルト値を安全に返すメソッドはどれですか。

まとめ

dict は {key: value} の形式で、O(1) で検索できます。安全なアクセスには get()、存在確認には in、反復処理には items()、削除には del/pop() を使います。

次へ進む

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

よくある質問

「辞書の基礎」レッスンは無料ですか?

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

「辞書の基礎」で何を学びますか?

dict を作成し、キーで値にアクセスして反復処理します。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

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

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

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

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

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

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