如何正确地将一个元素的列表转换为具有一个元素的元组

时间:2013-01-30 15:07:01

标签: python python-2.6

>>> list=['Hello']
>>> tuple(list)
('Hello',)

为什么上述陈述的结果为('Hello',)而非('Hello')?我原以为它会是后者。

1 个答案:

答案 0 :(得分:12)

你做得对。在python中如果你这样做:

a = ("hello")

a将是一个字符串,因为此上下文中的括号用于将事物分组在一起。它实际上是一个逗号,它产生一个元组,而不是括号(在函数调用等特定情况下,只需要括号来避免歧义)......

a = "Hello","goodbye"  #Look Ma!  No Parenthesis!
print (type(a)) #<type 'tuple'>
a = ("Hello")
print (type(a)) #<type 'str'>
a = ("Hello",)
print (type(a)) #<type 'tuple'>
a = "Hello",
print (type(a)) #<type 'tuple'>

最后(最直接的问题):

>>> a = ['Hello']
>>> b = tuple(a)
>>> print (type(b))  #<type 'tuple'> -- It thinks it is a tuple
>>> print (b[0])  #'Hello' -- It acts like a tuple too -- Must be :)