为何遍历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_1asd_23
学习是最好的投资!
목록의 변경 가능한 개체로 인해 a와 b는 실제로 동일한 주소만 원합니다. b에서 제거하면 a의 반복에 영향을 줍니다.
출력:
이때 a의 길이가 3이 되었습니다
위 코드에서 b는 a에 대한 참조일 뿐입니다. b를 수정하면 a도 수정되어 a의 반복에 직접적인 영향을 미칩니다.
시도해 보세요
또는
목록의 변경 가능한 개체로 인해 a와 b는 실제로 동일한 주소만 원합니다. b에서 제거하면 a의 반복에 영향을 줍니다.
으아악출력:
으아악이때 a의 길이가 3이 되었습니다
위 코드에서 b는 a에 대한 참조일 뿐입니다. b를 수정하면 a도 수정되어 a의 반복에 직접적인 영향을 미칩니다.
시도해 보세요
으아악또는
으아악