Python如何替换列表中的字符串?

2024-05-05 04:07:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写的脚本生成一个名为“trt”的列表,其中充满了字符串。可能需要进一步处理这些字符串中的某些字符串,然后再对其进行处理。例如,字符串“5”需要替换为“4”,但不能弄乱诸如“-5”或“5*”之类的字符串。解决方案不得更改列表“trt”中字符串的顺序,也不得在列表中输入任何新字符或空格。在

我已经试过这样做了:

trt = [word.replace('5','4') for word in trt]

但这不是一个好的解决方案,因为它会影响“5*”并使脚本行为不当。在


Tags: 字符串in脚本列表for顺序解决方案字符
2条回答

word.replace('5','4')将字符串中的每个5替换为4。这不是你想做的(我不这么认为)。在

一种解决方案:

for index, value in enumerate(trt):
    if value == "5":
        trt[index] = "4"

功能更强大的解决方案:

^{pr2}$

如果我没听错的话,你想要这样:

trt = ['4' if word == '5' else word for word in trt]

如果需要执行大量这些替换,则可能需要定义一个映射:

^{pr2}$

getreplacementsdict中查找word,如果找不到这样的键,则返回{}本身,如果找不到,则返回相应的值。在

相关问题 更多 >