2012-11-11 19 views
20

のは、私はこれらの割り当てを持っているとしましょう:私はこれを行うとき一覧+ =タプル=リスト+タプル

points = [] 
point = (1, 2) 

どのように来る:

points += point 

をそれは完全に正常に動作し、私にポイントを与えます= [1,2]となる。私のような何かをした場合 はしかし、:

points = points + point 

それは私にはTypeErrorを与える:だけで一覧表示するには(ない「タプル」)のリストを連結することができます。 これらの文は同じものではありませんか?

答えて

20

違いは、list +=は任意の反復可能なものを取り、リストを拡張するものです。これはタプルが反復可能であるために機能します。 (そしてその場でリストを拡張する)。

一方、新しいリストをpointsに割り当て、リストをタプルに連結しようとしますが、期待される結果(リストまたはタプル?)が不明であるため、完了しません。