Python では、辞書はキーを値にマッピングするための重要なデータ構造です。ただし、辞書は本質的に重複キーをサポートしていないため、特定の種類のデータを操作する場合に問題になる可能性があります。
問題:
次の内容を含むテキスト ファイルがあるとします。以下に示すように、さまざまな値を持つ重複した自動車登録番号:
EDF768, Bill Meyer, 2456, Vet_Parking TY5678, Jane Miller, 8987, AgHort_Parking GEF123, Jill Black, 3456, Creche_Parking ABC234, Fred Greenside, 2345, AgHort_Parking ... EDF768, Jenny Meyer, 9987, Vet_Parking TY5678, Jo King, 8987, AgHort_Parking
登録番号がキーであり、各行のデータが値です。ただし、標準の辞書構文を使用すると、重複キーが見つかったときに古い値が新しい値で上書きされます。
解決策:
重複キーを処理するには、1 つの一般的な解決策があります。コレクション モジュールのdefaultdictを使用することです:
from collections import defaultdict data_dict = defaultdict(list)
重複キーに単一の値を割り当てる代わりに、そのキーに関連付けられたリストに新しい値を追加します:
data_dict[regNumber].append(details)
これにより、各キーが値のリストに対応する辞書が作成されます。例:
data_dict = { 'EDF768': [ ('Bill Meyer', '2456', 'Vet_Parking'), ('Jenny Meyer', '9987', 'Vet_Parking'), ], 'TY5678': [ ('Jane Miller', '8987', 'AgHort_Parking'), ('Jo King', '8987', 'AgHort_Parking'), ], ... }
この方法では、辞書内の対応するリストにアクセスすることで、特定の登録番号に関連付けられたすべてのデータにアクセスできます。
以上がPython 辞書を作成するときに重複キーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。