为何遍历a只遍历3次?智商不够了,list里最后一个为何没遍历到?智商不够了。。。
a = ["asd_1","asd_2","3","4"]
b = a
for i in a:
print(i)
if i.find('asd_') < 0:
b.remove(i)
输出:
asd_1
asd_2
3
天蓬老师2017-04-18 10:28:17
목록의 변경 가능한 개체로 인해 a와 b는 실제로 동일한 주소만 원합니다. b에서 제거하면 a의 반복에 영향을 줍니다.
으아악출력:
으아악이때 a의 길이가 3이 되었습니다
黄舟2017-04-18 10:28:17
위 코드에서 b는 a에 대한 참조일 뿐입니다. b를 수정하면 a도 수정되어 a의 반복에 직접적인 영향을 미칩니다.
시도해 보세요
으아악또는
으아악