0

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

[('一','二'):5]

但是有没有可能做

[('单例'),:5]

不知何故?

4

2 回答 2

3

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

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

>>> d = {}
>>> d[('Thing')] = "one"
>>> d.keys()
['Thing']
>>> d[('Thing',)] = "another"
>>> d
{'Thing': 'one', ('Thing',): 'another'}
于 2012-04-03T23:28:15.263 回答
2

向 python 表示“singleton”是一个使其工作的元组:

>>> a = {}
>>> a[('singleton',)] = 5
>>> a
{('singleton',): 5}
于 2012-04-03T23:28:45.450 回答