Home > Software engineering >  Python List calculation this is not about slicing
Python List calculation this is not about slicing

Time:01-05

list=[3, 1, -1]
list [-1]=list [-2]
print(list)

ok my last post was closed, even though this is not about slicing. There are no semicolons. The question is an exam question from the Python Institute course. I do not understand why the result of this calculation is [3, 1, 1]

Can someone explain me how this works?

CodePudding user response:

list[-1] means "the last item in the list".

list[-2] means "the next-to-last item in the list".

So, list [-1]=list [-2] means "assign the last item in the list to be the same as the next-to-last item in the list".

Honestly, I don't understand your confusion...

CodePudding user response:

A negative index in a python list is counting from the end. I.e., l[-1] points to the last element in the list, l[-2] to the second last and so forth.

Thus

l[-1]=l[-2]

takes the second last value and writes it to the last element. As this is 1 the last element is set to 1, too.

  • Related