I'm trying to do the following (consider this list):
['Hello, 'Hi', 'Nice', Cool']
I would like to change 'Hi' to 'Love'
But, I wouldn't want it to stay that way:
['Hello, 'Love', 'Nice', Cool']
I'm trying to get ahead of the others, even cropping the last one, getting like this:
['Hello, 'Love', 'Hi', Nice']
Note that Hi passed one along with the entire list, that's what I want!
Anybody know? Thanks in advance!
CodePudding user response:
You can insert the item into the desired position, and then remove the last item.
Here is the code:
# Starting list
x = ['Hello', "Hi", 'Nice', 'Cool']
items_to_insert = 'Love'
item_to_find = "Hi"
if item_to_find in x:
x.insert( x.index(item_to_find), items_to_insert)
x.pop()
print(x)
else:
print(f"{item_to_find} is not in the list")
OUTPUT:
['Hello', 'Love', 'Hi', 'Nice']
Working with integers in the list:
x = ['Hello', 6, 'Nice', 'Cool']
items_to_insert = 'Love'
item_to_find = 6
if item_to_find in x:
x.insert( x.index(item_to_find), items_to_insert)
x.pop()
print(x)
else:
print(f"{item_to_find} is not in the list")
OUTPUT:
['Hello', 'Love', 6, 'Nice']
CodePudding user response:
old_list = ['Hello', 'Hi', 'Nice', 'Cool']
new_item_index = 1
new_item = 'Love'
new_list = old_list[0:new_item_index] [new_item] old_list[new_item_index 1:]
print(old_list)
print(new_list)
['Hello', 'Hi', 'Nice', 'Cool']
['Hello', 'Love', 'Hi', 'Nice']