有没有更多的方法来定义只有一个项目的元组?

时间:2010-02-17 14:27:55

标签: python singleton tuples

我知道这是一种方式,可以放一个逗号:

>>> empty = ()
>>> singleton = 'hello',    # <-- note trailing comma
>>> len(empty)
0
>>> len(singleton)
1
>>> singleton
('hello',)

来源:http://docs.python.org/tutorial/datastructures.html

是否有更多方法可以定义仅包含1个项目的元组?

4 个答案:

答案 0 :(得分:10)

>>> tuple(['hello'])
('hello',)

但内置语法是有原因的。

答案 1 :(得分:4)

即使您可以将元组定义为'hello',,我认为如果他们正在阅读您的代码,可能很容易错过尾随的逗号。我绝对喜欢 ('hello',)来自可读性的观点。

答案 2 :(得分:2)

singleton = ('hello',)

我猜这更清楚了,@ jleedev更清楚了。但我喜欢你最好的方法:

singleton = 'hello',

答案 3 :(得分:2)

另一个是

>>> (1, 2)[0:1]
(1,)

一种非常模糊的方式,但它 是另一种选择......