Python でシングルトンを定義するには、singleton = ('singleton') を使用します。Python 辞書では、次のようにタプルをキーとして使用できます。
[('1', '2'): 5]
しかし、それは可能ですか
[('シングルトン'),: 5]
何とかして?
Python でシングルトンを定義するには、singleton = ('singleton') を使用します。Python 辞書では、次のようにタプルをキーとして使用できます。
[('1', '2'): 5]
しかし、それは可能ですか
[('シングルトン'),: 5]
何とかして?
はい、できますが、 ではできません('Singleton')
。を使用する必要があります('Singleton',)
。
これは、Python が 1 つの項目を囲む単一の括弧を単に項目自体として解釈するためです。コンマを追加すると、タプルの解釈が強制されます。
>>> d = {}
>>> d[('Thing')] = "one"
>>> d.keys()
['Thing']
>>> d[('Thing',)] = "another"
>>> d
{'Thing': 'one', ('Thing',): 'another'}
'singleton'がそれを機能させるためのタプルであることをPythonに示します。
>>> a = {}
>>> a[('singleton',)] = 5
>>> a
{('singleton',): 5}