
为什么这题选的是D,而不是A
求大神解答
如果添加输出次数
letter=['A','B','C','D','D','D']
k=0
for i in letter:
k=k+1
print(k)
if i=='D':
letter.remove(i)
print(letter)
结果为:
1
2
3
4
['A', 'B', 'C', 'D', 'D']
5
['A', 'B', 'C', 'D']
也就是删除第一个D后,数组的长度减少了,循环次数就减少了一次(变为5)
python中遍历列表,使用的是计数器(或者说下标)。
第一次计数器(下标)为0,所以取‘A’来对比
第四次下标为3,取‘D’
第五次下标为4,取列表的第六个‘D’#也就是说 原列表中letter[4]没有被取到,直接跳过了
如果letter=[1,2,3,4,'aaaaa',4],然后每次都打印i的值,i不会有为‘aaaaa’的情况