클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

리스트 모아모아 다모아 1 - 리스트 활용 본문

프로그래밍 언어/파이썬

리스트 모아모아 다모아 1 - 리스트 활용

huenuri 2024. 8. 1. 10:12

오늘은 새벽 5시에 시계를 맞추고 일어났다. 어제 12시에 공부를 마치고 12시 15분쯤 취침을 했는데 5시간을 잘지 5시 정각에 일어나 공부를 하는 게 나을지 무척 고민이 되었다.
어제도 그 정도쯤 잤는데 별로 피곤하지 않아 적어도 5시에는 일어나 공부를 하기로 했다. 시계가 울리자마자 벌떡 일어나 오늘 무엇을 공부해야 할지 잠시 고민한 후 학습을 시작해본다.

이번 포스트에서는 리스트에 대한 내용을 학습해본다. 리스트는 지난 수업에서도 많이 어려워했던 개념이다.
그럼 본격적인 학습에 들어가보자!


 

 

 

이론 1 - 리스트 활용

 


순서가 있는 자료형에는 문자열과 리스트가 있다.
리스트는 대괄호로 감싼 자료형이며 이 안에는 어떤 것이든 넣어줄 수 있다. 그리고 이를 사용하는 방법으로 인덱싱과 슬라이싱에 대해서 전 시간에 학습했었다. 이번에는 이를 활용하는 방법에 대해서 학습해볼 것이다.

 

 

 

 

 

 

점을 사이에 붙이는 것을 Dot Access라고 한다. 리스트에서 함수를 사용할 때 이렇게 쓴다. append는 덧붙이다의 뜻이다.

예시를 보면 a 리스트에 10을 뒤에 추가하고, b에는 d 원소를 마지막에 추가해주라는 것이다.

 

 

 

 

 

 

 

 

어떠한 위치에 추가하고 싶을 때 사용한다. 어디에 무엇을 넣을지를 써주는 것이다.
예시에서 보면 2 위치 다음에 3을 넣는 것이다. 이 부분은 많이 실수하니 꼭 주의하자!

 

 

 

 

 

 

 


리스트 안에 어떤 자료를 삭제한다. 어떤 자료를 삭제할지 적어주는데, 처음 나오는 자료를 제거한다. 중복이 있을시 인덱스가 작은 원소를 제거하는 것이다. 따라서 앞에 있는 3이 지워진다.

 

 

 

 

 

 

 

괄호는 널 값이라 아무것도 쓰지 않는다. 예를 들어, 리스트 안에 있는 값 중에서 최대값을 알고 싶을 때가 있다. 오름차순으로 정렬한 후 맨 마지막 원소가 최대값이라고 알려주는 식으로 사용한다.
오름차순은 숫자가 점점 높아지는 것이고, 사전순은 알파벳 순으로 배열하는 것을 말한다.

리스트를 정렬할 때 주의사항은 같은 자료형이 있어야 한다. 다른 자료형이 있으면 사용할 수 없다.


 

 

 

퀴즈 1 - 리스트 원소 제거

 

 

 

 

 


 

 

 

퀴즈 2 - 리스트 원소 삽입

 

 

 


대괄호만 적으면 빈 리스트를 의미한다. 빈 리스트에 자료를 추가하는 방법은 append를 사용한다. 괄호 안에 있는 내용이 리스트 바로 뒤에 추가된다.

 


 

 

 

실습 1 - 리스트 원소 추가

 

 


리스트 안에 아무것도 넣지 말아야 하는데 1을 써주어서 틀렸다. 이 부분에 꼭 유의하도록 하자!

 

 


 

 

 

실습 2 - 리스트 원소 삽입

 

 

 

리스트는 순서가 중요한 데이터이다. append는 원소를 추가하는 함수이므로 이 문제에는 적합하지 않다. 여기서는 insert를 사용한다.

 

 

원소를 삽입하는 건 좀 헤깔려서 틀렸다. 난 4와 2 사이에 넣어야 하니 4를 써야 한다고 생각했는데, 해당되는 자리를 쓰는 거였다. 그러니까 2가 들어가야 한다.

근데 이렇게 해도 답이 나오지 않았다.

 

 

이유를 알았다. 선언을 먼저 해주는 건데 이걸 안써주었다. 이렇게 3번만에 답을 맞추었다.


 

 

실습 3 - 리스트 원소 삭제

 

 

 

빈 리스트를 만들고 자료를 만들어준다. remove를 사용하면 원하는 값을 제거할 수 있다. 제거하려는 값이 리스트에 없으면 애러 메시지가 뜨니 해당 값이 리스트에 있는지 확인해야 한다.
여기서 주의할 점은 괄호 안에 있는 2는 인덱스가 아닌 숫자 자료 2를 의미한다는 것이다.

 

 


 

 

실습 4 - 리스트 원소 정렬

 

 

 

sort를 사용하면 오름차순으로 정렬할 수 있다. 하지만 주의할 점은 print나 어떤 변수에 저장하려고 하면 None이 출력된다.

 

 

이것은 아무것도 없다는 뜻이다. sort로 이미 정렬을 마친 상태이므로 출력하는 의미가 없다.

이제 문제를 풀어보자!

 


 

 

 

첫번째 단원 학습을 마치고

1시간 조금 넘게 첫번째 단원 학습을 마쳤다. 리스트는 실습 문제가 많아서 그 영상을 2번씩 보고 혼자서 푸는데도 생각보다 어려웠다. 알고리즘 공부를 할 때 이 부분을 잘 이해하지 못했던 기억이 난다.
이제 혼자서도 리스트를 만들고 추가, 삽입, 제거할 수 있게 되었다. 리스트를 만들 때는 꼭 선언을 한다는 걸 잊지 않아야 할 것이다.

프로그래밍에서 선언은 가장 중요한 것 같다. 이제 다음 단원에서는 시퀀스에 대해서 학습할 것이다. 그리고 학습을 빨리 마치면 어제 하다 말았던 자바 공부를 좀더 하다가 수업에 등교하면 될 것 같다~