list.insert()
метод работает с индексами, а не с самим элементом. Когда вы говорите for i in mylist
, вы перебираете элементы, которые являются строками, поэтому вы получаете указанную ошибку, поскольку индексы не могут быть str
. В первую очередь следует подумать о индексах, но с другой стороны, если вы изменяете список, перебирая его, вы будете изменять список каждый раз, когда вставляете элемент, и, следовательно, получите неожиданные результаты. И это очень не рекомендуется. Тем не менее, если вы хотите сделать это, вы идете:
mylist = ['.','.','.']
for i in range(len(mylist)):
mylist.insert(i+i+1,'x')
print(mylist)
Вывод:
['.', 'x', '.', 'x', '.', 'x']