22

私がこれらの割り当てを持っているとしましょう:

points = []
point = (1, 2)

私がこれをするとき、どうしてですか:

points += point

それは完全にうまく機能し、私にポイント= [1、2]を与えます。しかし、私が次のようなことをした場合:

points = points + point

TypeErrorが発生します。リストに連結できるのは(「タプル」ではなく)リストのみです。しかし、これらのステートメントは同じものではありませんか?

4

1 に答える 1

23

違いは、これは、任意の反復可能を取り、リストを拡張するのlist +=と同等list.extend()であり、タプルが反復可能であるように機能することです。(そしてリストをその場で拡張します)。

一方、2番目のリストはに新しいリストを割り当て、pointsリストをタプルに連結しようとしますが、期待される結果(リストまたはタプル?)が不明なため、これは実行されません。

于 2012-11-11T16:19:06.253 に答える