TIL[40]. Python_Deleting Elements From List

jake.log·2020년 8월 23일
0

Python

목록 보기
22/39

22.Deleting Elements From List

twice를 리스트로 만들어 보자.

twice = [ "나연",  "사나",  "정연",  "모모",  "미나", "채영",  "다현", "쯔위",  "지효"]

모모가 twice에서 빠질 경우 리스트를 어떻게 만들까?

del twice[3]

1.del 키워드

twice = [ "나연",  "사나",  "정연",  "모모",  "미나", "채영",  "다현", "쯔위",  "지효"]

print(twice)
['나연', '사나', '정연', '모모', '미나', '채영', '다현', '쯔위', '지효']

del twice[3]
print(twice)
['나연', '사나', '정연', '미나', '채영', '다현', '쯔위', '지효']

del 키워드와 list의 인덱스를 사용하여 원하는 요소를 리스트에서 삭제하는 것이다.
참고로 요소가 리스트에서 삭제되면 파이썬이 자동으로 리스트의 인덱스들을 다시 정렬해준다.
그럼으로 인덱스 번호가 중간에 비어있지 않도록 하게 해준다.

2.Remove

del 키워드를 사용해서 요소를 리스트에서 삭제하는 방법의 단점은 인덱스를 사용해야 한다는 것이다.
index를 이용하기 싫을 때 불편할 때 remove 를 사용!리스트의 값을 바로 제거 해준다.

twice.remove("모모")

Assignment

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

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

[1, 2, 3, 4, 5]

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

[2, 4]

My solution

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

Model solution

def remove_odd_numbers(numbers):
  ##아직 for loop을 배우지 않았음으로 if 문을 사용해서 해결.
  if (numbers[4] % 2) == 1:
    del numbers[4]

  if (numbers[3] % 2) == 1:
    del numbers[3]

  if (numbers[2] % 2) == 1:
    del numbers[2]

  if (numbers[1] % 2) == 1:
    del numbers[1]

  if (numbers[0] % 2) == 1:
    del numbers[0]
 
  return numbers
profile
꾸준히!

0개의 댓글