2012-02-23 19 views

答えて

3

いいえ、1つのキーに2つの要素を追加できます。辞書= {'a'、[b、c]}。リストオブジェクトを使用して、辞書に複数の値を設定します。

+0

私はそれを2回設定すると元のファイルに置き換わるものと思われます –

+1

@AramKocharyan:yesですが、 'd ['a']。append( 'c')'を設定するのではなく、項目を追加/追加できます。 'dict.setdefault()'メソッドは便利です。また、[collections.defaultdict](http://docs.python.org/library/collections.html#collections.defaultdict)を見て、例えば 'defaultdict(list)'や 'defaultdict(set)'を使ってください。 (そして、グーグル - または "SO"を検索する - "python multidict"にも興味深い例があります) – Steven

-1

必要であれば、あなたは同じように、「ペア」タプルのリストを作成できます。

thelist = [('foo', 'first_foo'), ('foo', 'second_foo'), ('bar', 'not_foo')] 

その後、あなたはこの醜いハックでthelist['foo']と同等のものを取得することができます。

for pair in thelist: 
    if pair[0] == 'foo': 
     print pair[1] 

と取得

first_foo 
second_foo 
1

これを行うには

通常の方法はdefaultdictである:

dd = defaultdict(list) 

dd['Your mother\'s key'].append('A') 
dd['Your mother\'s key'].append('B') 

dd['Your mother\'s key'] #=> ['A', 'B'] 

これは非常に十分でない場合は、独自のクラスを作成することができます。

+0

@eumiro:修正されました。 – Marcin