Day 3 - 파이썬의 리스트 데이터타입 (2)

2022. 10. 6. 11:49Python

어제 마지막 수업에 이어 오늘의 첫 수업 역시 리스트 데이터타입에 대해 다루었다. 이 글에서는 리스트 안의 아이템을 수정하는 방법에 대해 알아볼 것이다.

우선 주로 사용하는 함수에 대해 알아보았다.

함수로 리스트의 아이템을 수정하는 방법들이다.

우선 각 함수의 문법과 사용법에 익숙해지는 편이 중요할 것이고, 특히 주의해야 할 점을 정리해보았다.

  • append()/insert()와 extend()의 아이템 추가 방법과 문법의 차이
  • append()와 extend()의 문법 및 방식의 차이
  • 위 세 함수는 원 데이터에 바로 적용된다는 것

위 세 함수를 각각 어떤 상황일 때 주로 사용하는지 좀 더 알아보면 좋을 것 같다. 아마도 데이터 크롤링과 분석 시에 주로 사용하지 않을까라는 생각이 들긴 한다.

append()가 매우 중요하다고 강사님께서 언급하셨기 때문에 집중해서 보아야겠다.

 

한 편, 위 사진의 in키워드의 경우 예전에 파이썬에 대해 공부할 때는 배우지 않았던 키워드인데, 처음 배우는 것이기도 하고 문법 형식이 우리가 주로 사용하는 함수들하고는 약간 다르기 때문에 주의해서 사용해야 할 것 같다. 특히 주의해야할 점은, 리스트 내에 리스트에 존재하는 아이템의 경우 그 아이템만 입력하는 것이 아니라, 리스트 내의 리스트의 인덱스 번호와 함께 입력해야 한다는 것이다. 사진의 예시를 잘 보고 학습하도록 하자.

not in키워드의 경우에는 in키워드와 반대의 결과값이 나온다고 생각하면 된다.

 

다음은 함수를 통한 리스트 내 아이템 수정 연습문제이다.

나름 잘 풀었다. 강사님이 3번 문제에 문자 100이라고 해서 "100"이라고 적었는데 실제 풀이는 숫자 100으로 하셨다.

 

 

 

또한, 인덱싱과 슬라이싱을 이용해서 리스트 내부의 아이템을 수정하는 방법도 배웠다.

인덱싱과 슬라이싱을 이용해서 리스트의 아이템을 수정하는 방법이다.

이 방법에서 주의해야 할 점을 짚어보았다.

  • 함수를 통해 수정하는 것과는 다르게 리스트 내부의 아이템이 교체된다는 점
  • 인덱싱은 append()와, 슬라이싱은 extend()와 동작원리와 문법이 비슷하다는 점

정리하자면 아이템을 추가할 필요가 있을 때는 함수를, 교체할 필요가 있을 때는 인덱싱과 슬라이싱을 이용하는 것이 좋아 보인다.

 

다음은 인덱싱과 슬라이싱을 이용한 리스트 내 아이템 수정 연습문제이다

이해하는데 아주 어려운 내용이 아니었기 때문에 잘 풀었다.

 

이에 더해, 리스트 내의 아이템을 삭제하는 방법에 대해 공부했다.

리스트 내의 아이템을 삭제하는 방법에서 유의해서 공부해야 할 부분은 다음과 같다.

  • 빈 리스트를 이용하여 삭제할 때는 반드시 슬라이싱을 통해서 삭제해야 한다는 점 (인덱싱을 이용하면 빈 리스트로 교체되기 때문)
  • del 키워드와 리스트 변수명 뒤에 인덱싱이나 슬라이싱을 하지 않을 경우 리스트 자체가 제거된다는 점
  • remove()와 pop()의 차이점을 정확히 파악해야 한다는 점
  • remove()의 경우 중복된 아이템이 존재하면 인덱스 번호가 가장 앞서는 하나의 아이템만 제거한다는 점
  • pop()의 경우 내부 내용을 적지 않으면 마지막에 위치한 아이템이 제거된다는 점
  • pop()의 경우 삭제할 자료 값을 알려준다는 점