python简单的问题,智商不够用了。。。
PHPz
PHPz 2017-04-18 10:26:17
0
2
540

为何遍历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

PHPz
PHPz

学习是最好的投资!

모든 응답(2)
Peter_Zhu

목록의 변경 가능한 개체로 인해 a와 b는 실제로 동일한 주소만 원합니다. b에서 제거하면 a의 반복에 영향을 줍니다.

으아악

출력:

으아악

이때 a의 길이가 3이 되었습니다

黄舟

위 코드에서 b는 a에 대한 참조일 뿐입니다. b를 수정하면 a도 수정되어 a의 반복에 직접적인 영향을 미칩니다.

시도해 보세요

으아악

또는

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿