首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用replace修改字符串的字符串列表

使用replace修改字符串的字符串列表
EN

Stack Overflow用户
提问于 2021-08-07 19:15:46
回答 2查看 28关注 0票数 0

我可以像这样修改字符串中的最后几个字符:

代码语言:javascript
复制
old_string = 'slipstream_internal/slipstream_hq/24/ZN-SP'
new_string = old_string.replace('ZN-SP', 'OCC-SCHEDULE')

print(new_string)这个修改后的new_string就是我要找的:

'slipstream_internal/slipstream_hq/24/OCC-SCHEDULE'

奇怪的是,为什么这不适用于遍历字符串列表的for循环?

代码语言:javascript
复制
release_list = ['slipstream_internal/slipstream_hq/8/ZN-SP', 
               'slipstream_internal/slipstream_hq/6/ZN-SP', 
               'slipstream_internal/slipstream_hq/10/ZN-SP', 
               'slipstream_internal/slipstream_hq/19/ZN-SP', 
               'slipstream_internal/slipstream_hq/20/ZN-SP', 
               'slipstream_internal/slipstream_hq/37/ZN-SP', 
               'slipstream_internal/slipstream_hq/38/ZN-SP', 
               'slipstream_internal/slipstream_hq/39/ZN-SP', 
               'slipstream_internal/slipstream_hq/12032/Space Temperature Setpoint Active', 
               'slipstream_internal/slipstream_hq/12033/Space Temperature Setpoint Active', 
               'slipstream_internal/slipstream_hq/31/ZN-SP', 
               'slipstream_internal/slipstream_hq/29/ZN-SP', 
               'slipstream_internal/slipstream_hq/12028/Space Temperature Setpoint Active', 
               'slipstream_internal/slipstream_hq/27/ZN-SP', 
               'slipstream_internal/slipstream_hq/30/ZN-SP', 
               'slipstream_internal/slipstream_hq/26/ZN-SP', 
               'slipstream_internal/slipstream_hq/34/ZN-SP', 
               'slipstream_internal/slipstream_hq/12035/Space Temperature Setpoint Active', 
               'slipstream_internal/slipstream_hq/36/ZN-SP', 
               'slipstream_internal/slipstream_hq/25/ZN-SP', 
               'slipstream_internal/slipstream_hq/23/ZN-SP', 
               'slipstream_internal/slipstream_hq/24/ZN-SP']


for string_ in release_list:
    string_ = string_.replace('ZN-SP', 'OCC-SCHEDULE')
    string_ = string_.replace('Space Temperature Setpoint Active', 'Occupancy Request')

如果我使用print(release_list),这些值是不变的。任何建议都非常感谢...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-07 19:20:32

for string_循环生成一个新的变量string_,更新它不会更改列表中包含的内容。您需要直接修改列表。

代码语言:javascript
复制
for i in range(len(release_list)):
    release_list[i] = release_list[i].replace('ZN-SP', 'OCC-SCHEDULE')
票数 0
EN

Stack Overflow用户

发布于 2021-08-07 19:19:03

您将新字符串存储在本地变量string_中,但永远不会将其放回列表中-为此,您可以构建一个新列表,或者通过索引将新字符串设置在旧列表中:

代码语言:javascript
复制
for i,string_ in enumerate(release_list):
    string_ = string_.replace('ZN-SP', 'OCC-SCHEDULE')
    # assign result to the item in the list
    release_list[i] = string_.replace('Space Temperature Setpoint Active', 'Occupancy Request') 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68695460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档