gpt4 book ai didi

Python 按顺序替换列表中文件中的出现位置

转载 作者:行者123 更新时间:2023-12-01 07:03:48 24 4
gpt4 key购买 nike

假设我有这个文件:

Hi
Hello
Hello
Hello
Hi
Hello
Hi
Hi

我想用列表中出现的情况替换文件中的“Hi”一词。

假设我有这个列表:[“好的”,“否”,是”]

我想首先将“Hi”一词替换为“Ok”,然后第二次出现的“Hi”一词应替换为“No”,依此类推。

这是我尝试过的:

with open('myfile.extension') as f:
for line in f:
new_line = line.replace('Hi' , 'No', 1)
print(new_line)

我知道这不会起作用,但即使这会将所有出现的“嗨”替换为“否”,而不仅仅是第一次出现。

为什么?

最佳答案

您可以将 iternext 一起使用:

import re, itertools
c = itertools.cycle(["Ok","No","Yes"])
result = re.sub('Hi', lambda _:next(c), open('filename.txt').read())

输出:

Ok
Hello
Hello
Hello
No
Hello
Yes
Ok

关于Python 按顺序替换列表中文件中的出现位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com