我有一个包含一个键和两个值的字典,我想将每个值设置为一个单独的变量 .
d = {'key':('value1,value2'),'key2':('value3,value4'),'key3':('value5,value6')}
我尝试了d [key] [0],希望它会返回“value1”,而是返回“v”
有什么建议?
更好的解决方案是将您的 Value 存储为两元组:
d = {'key' : ('value1', 'value2')}
这样,您不必在每次要访问值时进行拆分 .
尝试这样的事情:
d = {'key' : 'value1, value2'} list = d['key'].split(', ')
list[0] 将"value1"和 list[1] 将"value2" .
list[0]
list[1]
我建议在你的字典中存储列表 . 它使参考更容易 . 例如,
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]
要获取这两个值并将它们分配给value1和value2:
for v in d.itervalues(): value1, value2 = v.split(', ')
正如zenazn所说,我不认为这是一个合理的数据结构,使用元组或类来存储多个值会更好 .
你存储 Value 观的方式,你需要这样的东西:
value1, value2 = d['key'].split(', ') print value1, value2
或迭代所有值:
for key in d: v1, v2 = d[k].split(', ') print v1, v2
但是,如果可以的话,你应该遵循zenazn的建议,将你的值存储为元组,并避免每次都需要拆分 .
5 回答
更好的解决方案是将您的 Value 存储为两元组:
这样,您不必在每次要访问值时进行拆分 .
尝试这样的事情:
list[0]
将"value1"和list[1]
将"value2" .我建议在你的字典中存储列表 . 它使参考更容易 . 例如,
要获取这两个值并将它们分配给value1和value2:
正如zenazn所说,我不认为这是一个合理的数据结构,使用元组或类来存储多个值会更好 .
你存储 Value 观的方式,你需要这样的东西:
或迭代所有值:
但是,如果可以的话,你应该遵循zenazn的建议,将你的值存储为元组,并避免每次都需要拆分 .