Python でワンキー複数値辞書を実装する方法

不言
リリース: 2018-10-11 14:20:53
転載
4608 人が閲覧しました

この記事の内容は、Python でのワンキー多値辞書の実装に関するもので、一定の参考価値がありますので、困っている方は参考にしていただければ幸いです。

1. 要件

キーを複数の値にマッピングできる単語 (いわゆるワンキー多値辞書)

2. 解決策

辞書は連想コンテナであり、各キーは個別の値にマップされます。キーを複数の値にマップする場合は、これらの複数の値を別のコンテナー (リストまたはセット) に保存する必要があります。

次のように辞書を作成できます:

d={
‘a’:[1,2,3],
'b':[4,5]
}
ログイン後にコピー

または次のように作成できます:

d={
'a':{1,2,3},
'b':{4,5}
}
ログイン後にコピー

リストを使用するかセットを使用するかは、完全にその目的によって決まります。アプリケーション。要素が挿入された順序を保持したい場合はリストを使用し、重複する要素を削除したい (順序を気にしない) 場合はセットを使用します。

このような辞書を簡単に作成するには、コレクション モジュールでdefaultdictクラスを使用できます。 defaultdict の機能の 1 つは、最初の値が自動的に初期化されるため、要素の追加のみに集中する必要があることです。

from collections import defaultdict
d=defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
print(d)
d=defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['b'].add(4)
print(d)
ログイン後にコピー

結果:

defaultdict(<class &#39;list&#39;>, {'a': [1, 2], 'b': [4]})
defaultdict(<class &#39;set&#39;>, {'a': {1, 2}, 'b': {4}})
ログイン後にコピー

以上がPython でワンキー複数値辞書を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート