Reputation: 3502
I can modify the last couple characters in a string like this:
old_string = 'slipstream_internal/slipstream_hq/24/ZN-SP'
new_string = old_string.replace('ZN-SP', 'OCC-SCHEDULE')
print(new_string)
this modified new_string
is what I am looking for:
'slipstream_internal/slipstream_hq/24/OCC-SCHEDULE'
Curious why doesn't this work on a for loop for through a list of strings?
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')
if I print(release_list)
the values are unchanged. Any tips greatly appreciated...
Upvotes: 0
Views: 36
Reputation: 308206
The for string_
loop generates a new variable string_
, and updating it does not change what's contained in the list. You need to modify the list directly.
for i in range(len(release_list)):
release_list[i] = release_list[i].replace('ZN-SP', 'OCC-SCHEDULE')
Upvotes: 0
Reputation: 5802
You store the new string in the local variable string_
, but never put it back into the list – to do that, you can either build a new list or set the new strings in the old one via indexing:
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')
Upvotes: 2