You want list.append(), not list.extend():
thelist.append(instance)
list.extend() expects a sequence of elements to add, adding them all to the list. You have just one element, in which case you need to use list.append().
From More on Lists in the Python tutorial:
list.append(x)
Add an item to the end of the list; equivalent to a[len(a):] = [x].
list.extend(L)
Extend the list by appending all the items in the given list; equivalent to a[len(a):] = L.
Emphasis mine.
Demo:
>>> class MyClass:
... var1=''
... var2=''
...
>>> thelist = []
>>> instance = MyClass()
>>> instance.var1 = "hello"
>>> instance.var2 = "world"
>>> thelist.append(instance)
>>> thelist
[<__main__.MyClass instance at 0x106d19d40>]
>>> thelist[0].var1
'hello'