Python List calculation this is not about slicing

Question:

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?

Asked By: Anna

||

Answers:

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…

Answered By: John Gordon

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.

Answered By: sim
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.