Python 将元组转换为字典

Python 将元组转换为字典,python,dictionary,tuples,Python,Dictionary,Tuples,我在互联网上查阅了很多书,但我似乎找不到一个例子来说明我在做什么。我不想这样问这个问题,因为这感觉像是一个非常基本的问题,但在过去的几个小时里,我一直把头撞在墙上,所以下面是: 我该如何扭转这种局面: item = ((100,May),(160,June),(300,July),(140,August)) 为此: { item:[ {

我在互联网上查阅了很多书,但我似乎找不到一个例子来说明我在做什么。我不想这样问这个问题,因为这感觉像是一个非常基本的问题,但在过去的几个小时里,我一直把头撞在墙上,所以下面是:

我该如何扭转这种局面:

   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'
                    }
                ]
                }

你有一个列表。您可以使用列表理解遍历列表,然后每个元素将成为一个字典条目。只需使用[0]和[1]符号将其分开即可。这是Python的基础。这将是值得你去回顾什么是列表理解以及它们是如何工作的。同时阅读国际热核实验堆模块文档。有趣的是,列表中的元素都是具有相同键的字典
'value','label'
,而不是直接的值元组??对我来说没有兴趣:它只包括在数据结构中添加冗余信息,然后当您必须使用数据时,您必须进行额外的处理以获得值。如果所有元组都在模式(一个值、一个标签)上,那么在每个元素中重复这些信息的需要是什么?一个元素中的值和标签不会自动交换它们的位置!
{'item': [dict(value=value, label=label) for value, label in item]}
dict(item=map(lambda x: dict(value=x[0],label=x[1]),item))
>>> 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}]}