如何从python元组创建字典字典

如何从python元组创建字典字典,python,data-structures,dictionary,tuples,Python,Data Structures,Dictionary,Tuples,我想创建以下示例中格式的字典 c={ 'A':{('AB',2.9)}, 'B':{('AS',3.9)}, 'R':{('D',2.0)}, 'V':{('AD',2.9)}, 'G':{('AX',2.9)} } 我有一个循环中的元组提要。这是我尝试过的,但我从中得到了一个错误的格式 my_tuple = ('AB',2.9) c = {} my_key = 'A' c.update({my_key:{my_tuple}})

我想创建以下示例中格式的字典

c={
    'A':{('AB',2.9)},
    'B':{('AS',3.9)},
    'R':{('D',2.0)},
    'V':{('AD',2.9)},
    'G':{('AX',2.9)}
 }
我有一个循环中的元组提要。这是我尝试过的,但我从中得到了一个错误的格式

my_tuple  = ('AB',2.9)
c         = {}
my_key    = 'A'
c.update({my_key:{my_tuple}})
对于这个特定的例子,我想得到
{'A':set([('AB',2.9)]}
。我知道这是一本合适的字典,但如何才能更好地使用它并以一种格式返回
c
的值呢?。我想要,即:

{'A': {('AB', 2.9)}}

s={1,2,3}
是声明
s=set([1,2,3])

因此,你已经得到了你想要的,这只是一个表示问题

>>> {('AB',2.9)} == set({('AB',2.9)})
True

如果表示对您来说是最重要的,那么您可以继承
集合
并创建自己版本的
\uuuuu repr\uuuuuu
,这将使您可以自由地使用您的想象力来满足您的需求:-)


您是在告诉我们,您对
集合的表示感到恼火吗?
?一点也不恼火。为了简单和易于集成,我的要求要求我以这种格式输出数据,否则我对集合比较满意@有没有办法消除集合并将{}放在适当的位置?这会有帮助。谢谢你想实现什么?为什么需要更改
集合表示形式
?是否尝试以该格式序列化数据(用于将数据传输到其他地方?),如果是,请改用JSON。是@root。我想取消这一套,保留我的风格。我想我错过了一些东西。你所做的是正确的。我现在如何将我的集合({('AB',2.9)})呈现给{('AB',2.9)}。这个结果将被写入一个文件,它必须被写为{('AB',2.9)}。如果您只需要表示,我建议您参考@Abhijit的答案,它通过定义
集合
的子类的
\uu repr\ucode>方法实现您想要的功能。
>>> class funky_set(set):
    def __new__(cls,*args):
        return set.__new__(cls,args)
    def __repr__(self):
        return "{{{}}}".format(','.join(map(str, self)))

>>> my_tuple  = ('AB',2.9)
>>> c         = {}
>>> my_key    = 'A'
>>> c.update({my_key:funky_set(my_tuple)})
>>> c
{'A': {AB,2.9}}