Python - Deleting Elements From List

ryan·2020년 8월 21일
0

Assignment
Input으로 주어진 리스트에서 홀수는 전부 지우고 짝수만 남은 리스트를 리턴해주세요.
리스트의 요소들은 전부 숫자값이고 총 요소 수는 5개 입니다.

예를 들어, 다음과 같은 list가 input으로 주어졌다면:

[1, 2, 3, 4, 5]

다음과 같은 결과물이 리턴되어야 합니다.

[2, 4]

처음 문제를 시도할 때는 리스트에서 인덱스로 요소를 빼서, 짝수이면 요소를 리턴, 홀수이면 삭제하는 식으로 문제를 풀려고했는데, 처음 시도했을 때처럼 코드를 작성하면, 요소를 가져올 뿐이지, 리스트로 만들어지지않는다. 그리고, 위에 if 문이 True가 되면 그 아래의 if 문이 True가 되도 출력이 안되는 문제가 발생한다.

First Try

def remove_odd_numbers(numbers):
    if numbers[4] % 2 == 0:
        return numbers[4]
    else:
        del numbers[4]

    if numbers[3] % 2 == 0:
        return numbers[3]
    else:
        del numbers[3]

    if numbers[2] % 2 == 0:
        return numbers[2]
    else:
        del numbers[2]

    if numbers[1] % 2 == 0:
        return numbers[1]
    else:
        del numbers[1]

    if numbers[0] % 2 == 0:
        return numbers[0]
    else:
        del numbers[0]

구글링을 하다가, 아직 배우지않은 for 문으로 문제를 푸는 것을 보고, 링크텍스트 힌트를 얻어서(거의 다 얻어서) if문을 하나하나 작성하고, 리스트에서 홀수면 계속 지워나가다가 마지막에 리스트를 return함으로써 문제를 풀 수 있었다.

Pass

def remove_odd_numbers(numbers):
  ## 이 함수를 구현해주세요
  if numbers[4] % 2 != 0:
      del numbers[4]

  if numbers[3] % 2 != 0:
      del numbers[3]

  if numbers[2] % 2 != 0:
      del numbers[2]

  if numbers[1] % 2 != 0:
      del numbers[1]

  if numbers[0] % 2 != 0:
      del numbers[0]

  return numbers
profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글