반응형
목록이 있습니다
a = ["a", "b", "c", "d", "e"]
이 목록의 요소를 아래와 같이 for 루프에서 제거하고 싶습니다.
for item in a:
print item
a.remove(item)
하지만 작동하지 않습니다. 어떡해?
해결 방법
for
루프를 사용하여 반복하는 동안 목록에서 요소를 제거 할 수 없습니다.
코드를 다시 작성하는 가장 좋은 방법은 수행하려는 작업에 따라 다릅니다.
예를 들어 코드는 다음과 같습니다.
for item in a:
print item
a[:] = []
또는 while
루프를 사용할 수 있습니다.
while a:
print a.pop(0)
조건과 일치하는 항목을 제거하려고합니다. 그런 다음 다음 항목으로 이동합니다.
조건과 일치하지 않는 모든 요소를 두 번째 목록에 복사 할 수 있습니다.
result = []
for item in a:
if condition is False:
result.append(item)
a = result
a = filter(lambda item:... , a)
또는
a = [item for item in a if ...]
여기서 ...
는 확인해야하는 조건을 나타냅니다.
참조 페이지 https://stackoverflow.com/questions/10665591
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python을 사용하여 iOS 및 Android 용 크로스 플랫폼 앱을 작성할 수 있습니까? (0) | 2021.02.16 |
---|---|
파이썬 Django : 개발 및 프로덕션 설정을 관리하는 방법은 무엇입니까? (0) | 2021.02.16 |
파이썬 목록의 모든 요소가 조건과 일치하는지 확인하는 방법은 무엇입니까? (0) | 2021.02.16 |
파이썬은 재귀를 사용하지 않고 숫자 집합을 제외하는 난수를 생성 할 수 있습니까? (0) | 2021.02.16 |
파이썬 한 줄로 목록에있는 항목이 다른 목록에 있는지 확인 하시겠습니까? (0) | 2021.02.16 |
댓글