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

上記のステートメントの結果がなぜでは('Hello',)ないの('Hello')ですか?. 私はそれが後者であることを期待していたでしょう。

4

1 に答える 1

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 :)
于 2013-01-30T15:08:18.190 に答える