Ben*_*een 2 python string dictionary replace
有没有办法获取列表的索引,哪个映射函数?我已经让地图几乎可以工作,但我能够访问long_words列表中的 特定项目
# full_chunk is a very long string of plaintext (eg:pages from a book)
# long_words is a list of words for which I wish to substitute other things
# works
for x in xrange(len(long_words)):
full_chunk = full_chunk.replace(long_words[x],str(x))
# doesn't work :(
subber = lambda a,b,c: a.replace(b,c)
map(subber(full_chunk,long_words[long_words.index(x)],long_words.index(x)),long_words)
Run Code Online (Sandbox Code Playgroud)
目前,我只是希望能够代替每一个字每一个出现的long_words,出现在full_chunk与所述字中的索引long_words列表.例如:
# example input
long_words = ['programming','pantaloons']
full_chunk = 'While programming, I prefer to wear my most vividly-hued pantaloons.'
# desired output (which is what the for loop gives me)
print(full_chunk)
'While 0, I prefer to wear my most vividly-hued 1.'
Run Code Online (Sandbox Code Playgroud)
如果我需要提供更多信息,请告诉我,并提前感谢您的帮助!
使用enumerate(),你根本不需要map():
>>> long_words = ['programming', 'pantaloons']
>>> full_chunk = 'While programming, I prefer to wear my most vividly-hued pantaloons.'
>>> for i, word in enumerate(long_words):
... full_chunk = full_chunk.replace(word, str(i))
...
>>> full_chunk
'While 0, I prefer to wear my most vividly-hued 1.'
Run Code Online (Sandbox Code Playgroud)