Assignment
Input으로 주어진 리스트에서 홀수는 전부 지우고 짝수만 남은 리스트를 리턴해주세요.
- 리스트의 요소들은 전부 숫자값이고 총 요소 수는 5개 입니다.
example
input = [1, 2, 3, 4, 5]
결과: [2, 4]
del
이라는 키워드는 list
의 index
를 사용해 원하는 list
의 요소를 제거하는 것이다. 아래처럼 원하는 인덱스를 입력하여 해당 요소를 제거할 수 있다.
numbers = [1, 2, 3]
print(numbers) # [1, 2, 3]
del numbers[2] # (두 번째 인덱스 제거)
print(numbers) # [1, 2]
for
문으로 0부터 4번 인덱스까지 제거하려고 했으나, 그럴 경우 문제가 발생한다.원래의 크기 - 1
이 된다...!numbers = [1, 2, 3, 4, 5]에서
del numbers[0]
print(numbers) # [2, 3, 4, 5]
# 기존의 요소 2의 인덱스는 1
# 수정 후의 요소 2의 인덱스는 0
키워드 remove
를 통해도 지울 수 있다.
remove
는 del
과 달리 인덱스를 사용하지 않고 그 자체를 지우는 것이다.
[:]
를 이용하면 다른 id
값을 가지게 되어 for문으로 메소드 과정이 진행될 동안 기존의 list
를 변경시키지 않고 작업을 진행할 수 있다.
def remove_odd_numbers(numbers):
for i in numbers[:]:
if (i % 2 != 0):
numbers.remove(i)
return numbers
def remove_odd_numbers(numbers):
for i in range(4, -1, -1):
if numbers[i] % 2 != 0:
del numbers[i]
return numbers