>>> list=['Hello']
>>> tuple(list)
('Hello',)
为什么上述陈述的结果为('Hello',)
而非('Hello')
?我原以为它会是后者。
答案 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 :)