私は1つのキーと2つの値を持つ辞書を持って、私は別の変数に各値を設定したい。基本的なPythonの辞書の質問
I = {( '値1、値2')、 'KEY2':( 'VALUE3、value4')、 'KEY3'( 'VALUE5、value6') 'キー'}
D "value1"を返すことを期待してd [key] [0]を試しましたが、代わりに "v"を返します
何か提案がありますか?
私は1つのキーと2つの値を持つ辞書を持って、私は別の変数に各値を設定したい。基本的なPythonの辞書の質問
I = {( '値1、値2')、 'KEY2':( 'VALUE3、value4')、 'KEY3'( 'VALUE5、value6') 'キー'}
D "value1"を返すことを期待してd [key] [0]を試しましたが、代わりに "v"を返します
何か提案がありますか?
このような何か試してみてください:
d = {'key' : 'value1, value2'}
list = d['key'].split(', ')
list[0]
は "VALUE1" になり、list[1]
は "VALUE2" になります。
あなたの辞書にリストを保存することをお勧めします。参照するのがずっと簡単になるでしょう。例えば、
from collections import defaultdict
my_dict = defaultdict(list)
my_dict["key"].append("value 1")
my_dict["key"].append("value 2")
print my_dict["key"][1]
は、2つの値を取得し、value1とvalue2のためにそれらを割り当てるには:zenaznで言ったように
for v in d.itervalues():
value1, value2 = v.split(', ')
、私が使用して、これは賢明なデータ構造であることを考えていませんタプルまたは複数の値を格納するクラスを使用する方が良いでしょう。
あなたが値を格納している方法で、あなたのようなものが必要です:
value1, value2 = d['key'].split(', ')
print value1, value2
またはすべての値を反復処理するために:
for key in d:
v1, v2 = d[k].split(', ')
print v1, v2
しかし、あなたができる場合、あなたはおそらくべき値をタプルとして保存するというzenaznの提案に従い、毎回分割する必要はありません。
「2つの値」でない場合は、1つの値、つまり文字列です。 – Javier
質問を編集した結果、答えがもはや無意味になりました... –