본문 바로가기
Coding/초보자를 위한 파이썬 300제

초보자를 위한 파이썬 300제 // 055 del 함수

by 포스트it 2020. 12. 24.
728x90
반응형

 

문제

movie_rank 리스트에서 '스플릿' 과 '배트맨'을 를 삭제하라.

movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']

내풀이

movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
del movie_rank[2:]
print(movie_rank)

정답

del을 이용하여 리스트에서 원소를 삭제할 수 있습니다. 리스트에서 어떤 값을 삭제하면 남은 값들은 새로 인덱싱됩니다. 따라서 여러 값을 삭제할 때는 어떤 값이 먼저 삭제된 후 남은 원소들에 대해서 순서를 새로 고려한 후 삭제해야 합니다.

movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
del movie_rank[2]
del movie_rank[2]
print(movie_rank)

 

del 함수도 슬라이싱 가능 하다.
[2:] 의 의미는 2번째 인덱스부터 끝까지 이다.

문제에선 del movie_rank[2] 두번 반복했는데 이유는
중간에 del로 삭제하면 인덱스번호가 새로 부여 된다는 것을 보여주려고 한 것 같다.

 

728x90
반응형

댓글