首页 文章

基本的Python字典问题

提问于
浏览
2

我有一个包含一个键和两个值的字典,我想将每个值设置为一个单独的变量 .

d = {'key':('value1,value2'),'key2':('value3,value4'),'key3':('value5,value6')}

我尝试了d [key] [0],希望它会返回“value1”,而是返回“v”

有什么建议?

5 回答

  • 0

    更好的解决方案是将您的 Value 存储为两元组:

    d = {'key' : ('value1', 'value2')}
    

    这样,您不必在每次要访问值时进行拆分 .

  • 4

    尝试这样的事情:

    d = {'key' : 'value1, value2'}
    
    list = d['key'].split(', ')
    

    list[0] 将"value1"和 list[1] 将"value2" .

  • 16

    我建议在你的字典中存储列表 . 它使参考更容易 . 例如,

    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

    要获取这两个值并将它们分配给value1和value2:

    for v in d.itervalues():
        value1, value2 = v.split(', ')
    

    正如zenazn所说,我不认为这是一个合理的数据结构,使用元组或类来存储多个值会更好 .

  • 1

    你存储 Value 观的方式,你需要这样的东西:

    value1, value2 = d['key'].split(', ')
    print value1, value2
    

    或迭代所有值:

    for key in d:
        v1, v2 = d[k].split(', ')
        print v1, v2
    

    但是,如果可以的话,你应该遵循zenazn的建议,将你的值存储为元组,并避免每次都需要拆分 .

相关问题