[Python 문제풀이] Deleting Elements From List

Task

Input으로 주어진 리스트에서 홀수는 전부 지우고 짝수만 남은 리스트를 리턴해주세요.

  • 리스트의 요소들은 전부 숫자값이고 총 요소 수는 5개 입니다.

example

input = [1, 2, 3, 4, 5]

#결과
[2, 4]



Solution #1

def remove_odd_numbers(numbers):
    a = []
    for i in numbers:
      if i % 2 == 1:
        a.append(i)    # 빈 리스트 a에 홀수들만 추가

    for j in a:
      numbers.remove(j)    # 리스트 a에 있는 홀수와 같은 수들을 리스트 numbers에서 제거

    return numbers

Solution #2

def remove_odd_numbers(numbers):
    for i in range(4, -1, -1):    # for문을 뒤에서부터 돌리기 > 리스트 길이 변화에도 영항X
      if numbers[i] % 2 == 1:
        del numbers[i]

    return numbers

🍿 리스트에서 요소를 delete하는 for문을 돌릴 때는,
리스트의 길이 변화에도 for문에 영향이 없도록 거꾸로 돌린다!

좋은 웹페이지 즐겨찾기