mylist = ['.','.','.']
for i in mylist:
mylist.insert(i,'x')
print(mylist)
问题是我不断收到错误消息:
TypeError: 'str' object cannot be interpreted as an integer
我知道 join() 方法,但我正试图让它工作,以便以后可以操作我添加的元素。
请您参考如下方法:
当你执行 for i in mylist 时,你会得到 i 中的实际列表项,而不是它们的索引。然后您尝试使用 insert - 该函数需要一个整数索引(并且正在获取一个字符串项)。 ( see here )
除此之外,您在迭代列表的同时还更改了它的长度,这是一种不好的做法,并且会导致很多错误。
正确的方法是完全创建一个新列表:
mylist = ['.','.','.']
new_list = []
for item in mylist:
new_list.append(item)
new_list.append('x')
您的 new_list 现在是:['.', 'x', '.', 'x', '.', 'x']
