Actually you want to use
append (instead of
extend) since, in this example, we’re using it to add a single object (that object being a
To make it more clear you can write:
input_point = point, name
…which is equivalent to:
input_point is the tuple.
Basically a tuple is a way to pack more than one object (eg,
name) into a single object. By the way, both
input_point = point, name and
input_point = (point, name) are the same in Python. As are
for point, name in input_points and
for (point, name) in input_points. But with
input_points.append((point, name)) you need the parentheses, otherwise Python thinks you’re calling
append(point, name) which is calling
append() with two arguments/objects instead of one and you get the error you encountered.
And sorry, in my previous post I had made a typo (fixed now) where I had:
input_points.append((pygplates.PointOnSphere(lat, lon), name, description)
…when I should have had:
input_points.append((pygplates.PointOnSphere(lat, lon), name, description))
…note the extra
) at the end.