使用元组单例键定义dict

时间:2012-04-03 23:24:27

标签: python dictionary tuples

要在python中定义单例,请使用singleton =('singleton'), Python字典可以使用元组作为键,如

[('one','two'):5]

但是可以吗

[('singleton'),:5]

不知何故?

2 个答案:

答案 0 :(得分:3)

是的,您可以这样做 - 但不能使用('Singleton')。你必须使用('Singleton',)

这样做的原因是Python会将单个项目的单个括号解释为仅仅是项目本身。添加逗号会强制执行元组解释。

>>> d = {}
>>> d[('Thing')] = "one"
>>> d.keys()
['Thing']
>>> d[('Thing',)] = "another"
>>> d
{'Thing': 'one', ('Thing',): 'another'}

答案 1 :(得分:2)

表示python'singleton'是一个让它工作的元组:

>>> a = {}
>>> a[('singleton',)] = 5
>>> a
{('singleton',): 5}