我有一个位置索引列表,我希望用文字' +'替换文本文件中的字符。所以我的文本文件有25万个字符,我想只替换这些索引的文件。
a = [105, 777, 1449, 2121, 2793, 3465, 4137, 4809, 5481, 6153, 6825,
7497, 8169, 8841, 9513, 10185, 10857, 11529, 12201, 12873, 13545, 14217,]
我的第一个想法是在列表上运行for循环:
for idx, item in enumerate(a):
Raw_text[i] = Raw_text[i].replace(']','+')
但这给了我输出:
TypeError: 'unicode' object does not support item assignment
在查看了一些stackoverflow问题后,我理解了这个错误,但是如何仅替换列表中的那些项目,甚至比列表更大?
答案 0 :(得分:1)
如果您只想在特定索引处替换它们
text_file = "0123456789"
indexes = [1,3,6,9]
for index in indexes:
text_file = text_file[:index] + '+' + text_file[index+1:]
索引1,3,6和9的text_file结果项目替换为' +'
"0+2+45+78+"
答案 1 :(得分:0)
您始终可以将字符串转换为列表,然后稍后将其重新转换回来。
raw_list = list(raw_text)
for i in a:
raw_list[i] = '+'
raw_text = ''.join(raw_list)