The methods are adding elements to the list, that is the problem with your code! However, the methods return None, not a list. So, the following should work:
r=[]
x='abcd'
for i in xrange(0,len(x)):
print x[i]
r.insert(i,x[i])
print r
The above gives the following output:
a
['a']
b
['a', 'b']
c
['a', 'b', 'c']
d
['a', 'b', 'c', 'd']
Also note that to use the insert method you would want to insert at i
not at zero every time, unless you wanted to build a list in reverse order of the original string. Indeed, if you want to build a list in the original order, it is better to just use .append