将元组转换为字典

时间:2011-02-24 09:04:23

标签: python dictionary tuples

我看过整个互联网,并查阅了几本书,但我似乎无法找到一个例子来说明我想要做的事情。我不喜欢问这个问题,因为这感觉就像一个非常基本的问题,但过去几个小时我一直在撞墙,所以这就是:

我该如何转变:

   item = ((100,May),(160,June),(300,July),(140,August))  

进入这个:

                {
                item:[
                    {
                        value:100,
                        label:'May'
                    },
                    {
                        value:160,
                        label:'June'
                    },
                    {
                        value:300,
                        label:'July'
                    },
                    {
                        value:140,
                        label:'August'
                    }
                ]
                }

3 个答案:

答案 0 :(得分:9)

{'item': [dict(value=value, label=label) for value, label in item]}

答案 1 :(得分:1)

>>> item = ((100,'May'),(160,'June'),(300,'July'),(140,'August'))
>>> keys = ('value','label')
>>> dd = {'item' : [dict(zip(keys,pair)) for pair in item]}
>>>
>>> import pprint
>>> pprint.pprint(dd)
{'item': [{'label': 'May', 'value': 100},
          {'label': 'June', 'value': 160},
          {'label': 'July', 'value': 300},
          {'label': 'August', 'value': 140}]}

答案 2 :(得分:0)

dict(item=map(lambda x: dict(value=x[0],label=x[1]),item))