2024-05-05 04:07:03 发布
网友
我正在编写的脚本生成一个名为“trt”的列表,其中充满了字符串。可能需要进一步处理这些字符串中的某些字符串,然后再对其进行处理。例如,字符串“5”需要替换为“4”,但不能弄乱诸如“-5”或“5*”之类的字符串。解决方案不得更改列表“trt”中字符串的顺序,也不得在列表中输入任何新字符或空格。在
我已经试过这样做了:
trt = [word.replace('5','4') for word in trt]
但这不是一个好的解决方案,因为它会影响“5*”并使脚本行为不当。在
word.replace('5','4')将字符串中的每个5替换为4。这不是你想做的(我不这么认为)。在
word.replace('5','4')
一种解决方案:
for index, value in enumerate(trt): if value == "5": trt[index] = "4"
功能更强大的解决方案:
如果我没听错的话,你想要这样:
trt = ['4' if word == '5' else word for word in trt]
如果需要执行大量这些替换,则可能需要定义一个映射:
get在replacementsdict中查找word,如果找不到这样的键,则返回{}本身,如果找不到,则返回相应的值。在
get
replacements
word
word.replace('5','4')
将字符串中的每个5替换为4。这不是你想做的(我不这么认为)。在一种解决方案:
功能更强大的解决方案:
^{pr2}$如果我没听错的话,你想要这样:
如果需要执行大量这些替换,则可能需要定义一个映射:
^{pr2}$get
在replacements
dict中查找word
,如果找不到这样的键,则返回{相关问题 更多 >
编程相关推荐