我有一個關鍵字和兩個值的字典,我想將每個值設置爲一個單獨的變量。基本Python字典問題
d = { '鍵':( '值1,值'), 'KEY2':( '值3,值4'), 'KEY3':( '值5,value6')}
我嘗試d [關鍵] [0]在希望它會返回「value1」,而是它返回「v」
任何建議?
我有一個關鍵字和兩個值的字典,我想將每個值設置爲一個單獨的變量。基本Python字典問題
d = { '鍵':( '值1,值'), 'KEY2':( '值3,值4'), 'KEY3':( '值5,value6')}
我嘗試d [關鍵] [0]在希望它會返回「value1」,而是它返回「v」
任何建議?
更好的解決方案是將您的值存儲爲兩元組:
d = {'key' : ('value1', 'value2')}
這樣,你沒有,你要訪問的值每一次分裂。
嘗試這樣:
d = {'key' : 'value1, value2'}
list = d['key'].split(', ')
list[0]
將 「值1」 和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]
要獲得這兩個值並將其分配給值1和值2:
for v in d.itervalues():
value1, value2 = v.split(', ')
至於說通過zenazn,我不認爲這是一個明智的數據結構,使用元組或一個類來存儲多個值會更好。
你存儲你的價值觀,你需要的東西喜歡的方式:
value1, value2 = d['key'].split(', ')
print value1, value2
或遍歷所有的值:如果你能
for key in d:
v1, v2 = d[k].split(', ')
print v1, v2
但是,你應該按照zenazn的建議將你的值存儲爲元組,並避免每次都需要分割。
這不是「兩個值」,它是一個值:一個字符串。 – Javier 2009-07-31 19:42:21
你對這個問題的編輯已經導致答案不再有任何意義...... – 2009-07-31 22:06:00