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