指向对象一样,却得到不同的结果,求解释一下其中原因

哪位大神帮我看一下,注释的内容和上边未注释的内容为什么输出结果不一样

img

因为li[j+1]=li[j] 使得li内的元素发生了变化,你用上面的,虽然tem没变,但li[tem]变化了

下面的tmp始终都是li[i],没有变

你下面代码tm赋值了li[i]之后值就固定了,当li列表中之前给tm赋值的元素值改变时tm不会一起改变
而上面代码tem赋值的是i下标,当li列表中等于tmm下标元素的值改变时,li[tem]也会一起改变