这个怎么理解,谢谢!
计划循环6次,实际总共循环了 3次。
第一次 i = 2 , 把1 去掉了, 列表剩 5个 2,3,6,9,7 , 这个时候最小数是 2
第二次 i =3 , 把2 去掉了 , 列表剩4个 3,6,9,7 , 这个时候最小数是 3
第三次 i = 9 , 因为前面的2被去掉了, 遍历列表时, 指向当前列表第3个元素 9 , 这个时候,把3 去掉了 列表剩3个 , 6 ,9 ,7 , 这个时候最小数是 6
下一次遍历 应该要遍历第4个元素, 这时候列表只有3个数, 结束遍历。
按上面的剩余列表, min(ss) 依次为 2, 3, 6 ,
所以选 C
ss被remove了三次后剩三个元素 for的判断三次之后就不进行了
遍历到第4元素,数组索引不到t[3]了遍历结束。相当以下while循环:
s = [2,3,6,8,7,1]
t = s[:]
j = 0
while t[j] in s:
t.remove(min(t))
print('min:',min(t),t)
j += 1
print('j=',j,'t[j]=',t[j])
min: 2 [2, 3, 6, 8, 7]
j= 1 t[j]= 3
min: 3 [3, 6, 8, 7]
j= 2 t[j]= 8
min: 6 [6, 8, 7]
Traceback (most recent call last):
File "<pyshell#132>", line 5, in <module>
print('j=',j,'t[j]=',t[j])
IndexError: list index out of range