要在python中定义单例,请使用singleton =('singleton'), Python字典可以使用元组作为键,如
[('one','two'):5]
但是可以吗
[('singleton'),:5]
不知何故?
答案 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}