리스트 원본 자체를 loop에서 remove 정상적으로 반영되지 않기 때문에, 스텝 슬라이싱을 이용하면 된다.
# lst 원본 자체를 for문
lst = [ i for i in range(10) ]
for i in lst:
lst.remove(i)
lst
[1, 3, 5, 7, 9] # 원하는 결과가 나오지 않았다.
스텝 슬라이싱으로 for문
lst = [ i for i in range(10) ]
for i in lst[::]:
lst.remove(i)
lst
[]
'Python > Python Programming' 카테고리의 다른 글
[Python] 할당된 변수들을 반복문으로 실행하기. (eval 함수이용) (0) | 2020.11.02 |
---|---|
[Python] string 모듈을 이용한 임의의 패스워드 만들기 (0) | 2020.10.16 |
[Python] Python Dictionary의 clear 메소드와 { } 차이 (0) | 2020.08.03 |
Jupyter notebook 이미지 삽입하는 방법 (0) | 2020.07.22 |
[Python] PC의 호스트네임(hostname)과 MAC Address 얻기 (0) | 2020.05.14 |
[Python] random 함수 (0) | 2020.05.13 |
Jupyter notebook 간단한 사용법 (0) | 2020.03.07 |
[Python] Check the capacity of the mariadb table using pymysql (0) | 2020.02.06 |