基本Python字典问题
问题描述:
我有一个关键字和两个值的字典,我想将每个值设置为一个单独的变量。基本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