상황
For문을 이용하는 경우
def count_num(list, value): number = 0 for i in list: if i == value: number += 1 return number
While문과 pop 메소드를 이용하는 경우
만약에 리스트에서 사용한 값을 버리면서 순회를 하면 어떨까? While문과 pop 메소드를 사용하면 이러한 알고리즘 구현이 가능하다. 예를 들면 아래와 같다.
for 문을 사용하는 대신 while문을 사용하며, 리스트가 존재할 때까지 리스트의 첫 번째 값을 추출하여 비교하고 이를 제거하면 위와 동일한 결과를 구현할 수 있다.
def count_num(list, value): number = 0 i = 0 while len(list) > 0: if list[i] == value: number += 1 list.pop(0) return number