리스트

5단 분석법

순서
분석
단어
내용
1
일반 명사
리스트
사람이나 물건의 이름과 같은 요소를 일정한 순서로 적어 놓은 내용
2
고유 명사
리스트
유동적으로 크기를 바꿀 수 있는 순차적 형태의 자료구조
3
사용 이유
리스트
데이터를 순차적으로 저장하여 가독성을 높이고 편리하게 관리하기 위해
4
사용 방법
리스트
요소를 대괄호 ‘[]’ 안에 넣어 순서대로 저장하고, 저장 순서를 숫자로 사용하는 인덱스를 통해 접근하거나 수정
5
다른 기술과의 비교
리스트
-

리스트의 정의

일반 명사

리스트
사람이나 물건의 이름과 같은 요소를 일정한 순서로 적어 놓은 내용
리스트의 일반 명사는 “사람이나 물건의 이름과 같은 요소를 일정한 순서로 적어 놓은 내용” 입니다.
밥을 먹으러 식당을 갔습니다. 식당 한 쪽에 음료수 냉장고가 있습니다.
음료수 냉장고 안에는 여러 종류의 마실 것들이 정리정돈이 되어 있습니다.
이 음료수 냉장고가 리스트의 예시가 될 수 있습니다.
그렇다면 고유 명사는 무엇일까요?

고유 명사

리스트
유동적으로 크기를 바꿀 수 있는 순차적 형태의 자료구조
리스트의 고유 명사는 “유동적으로 크기를 바꿀 수 있는 순차적 형태의 자료구조” 입니다.
여기서 유동적으로 크기를 바꾼다는 것은, 냉장고의 크기를 바꿀 수 있다고 생각을 하면 쉽게 이해할 수 있습니다.
자료구조라는 단어에 대해서는 5단 분석법을 사용해 분석 해보겠습니다.
순서
분석
단어
내용
1
일반 명사
자료
연구 또는 조사 같은 것들의 바탕이 되는 재료
구조
일정한 설계에 따라서 여러 재료를 얽어 만든 물건
자료구조
연구 또는 조사 같은 것들의 바탕이 되는 재료를 일정한 설계에 따라서 얽어 만든 물건
2
고유 명사
자료
컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림과 같은 형태로 된 요소
구조
데이터나 파일이 어떠한 요소로 이루어져 있는지를 표현하는 것
자료구조
컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림과 같은 형태로된 자료가 어떠한 요소로 이루어져 있는지를 표현하는 것
3
사용 이유
자료구조
컴퓨터에서 자료를 효율적으로 관리하고 구조화시키기 위해서
4
사용 방법
자료구조
자료의 특성에 따라 알맞는 자료구조 기법을 선택하여 적용
5
다른 기술과의 비교
자료구조
-
자료의 고유 명사는 “컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림과 같은 형태로 된 요소” 이고, 구조의 고유 명사는 “데이터나 파일이 어떠한 요소로 이루어져 있는지를 표현하는 것” 입니다.
그렇다면, 자료구조의 고유 명사는 “컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림과 같은 형태로된 자료가 어떠한 요소로 이루어져 있는지를 표현하는 것” 이라고 추측해볼 수 있습니다.
다시 리스트로 돌아와서, 리스트란 일반적으로 목록이라고 표현을 많이 합니다. 순서를 가지고 일렬로 나열한 요소들의 모임이라고 합니다. 컴퓨터 언어에서 리스트는 데이터를 차례로 저장하는 데이터 구조라고 합니다.
일반 명사에서 예시로 설명한 음료수 냉장고, 리스트라고 생각할 수 있을까요?
리스트라고 할 수 있습니다.
그 이유는 아래에서 사용해야 하는 이유와 함께 알아보도록 합시다.

사용해야하는 이유

리스트
데이터를 순차적으로 저장하여 가독성을 높이고 편리하게 관리하기 위해서
리스트의 사용 이유는 “데이터를 순차적으로 저장하여 가독성을 높이고 편리하게 관리하기 위해서” 입니다.
음료수 냉장고 속에는 순서를 가지고 음료수(요소)를 연속적으로 나열해두었습니다.
리스트의 정의와 같이 음료수라는 요소를 음료수 냉장고라는 리스트 속에 연속적으로 나열해두었기 때문에,
음료수 냉장고는 리스트라고 할 수 있습니다.
만약 음료수가 냉장고에 정리되어있지 않고 바닥에 흩뿌려져 있다면 어떨까요?
원하는 음료를 찾는 데까지 많은 시간을 소모할 것입니다.
그리고, 원하는 음료수가 있는지 조차도 한 눈에 파악하기 힘들 것입니다.
컴퓨터언어에서 리스트도 음료수 냉장고를 사용하는 것과 같은 이유로 사용합니다.
리스트를 사용하면 데이터를 연속적으로 나열해 저장할 수 있습니다. 이를 통해서 한눈에 리스트에 어떤 요소들이 있는지 확인할 수 있습니다.
또한, 특정 요소의 개수를 쉽게 세거나 원하는 위치의 요소에 쉽게 접근할 수 있습니다.
이렇게 리스트는 데이터를 관리 용이성에 있고, 조작할 때에 편리함을 제공하는 자료구조입니다.
컴퓨터 언어적 관점에서는 3가지로 나눠서 알아볼 수 있습니다.

관리의 필요성

리스트를 사용하면 여러 개의 항목을 하나의 변수로 관리할 수 있습니다. 항목을 여러 개로 나눠놓는 것이 아니라 하나의 구조로 묶어 관리하기 때문에 데이터의 구조화와 관리가 편해지게 됩니다.

요소의 값을 빠르게 찾을 수 있음

리스트는 순서가 존재하고 각 항목에는 인덱스가 할당됩니다.
인덱스는 리스트와 같은 순차적인 데이터 구조에서 각 항목의 위치를 가리키는 번호나 위치값을 말합니다.
이를 통해서 특정 값을 빠르게 찾거나 접근할 수 있습니다. 인덱스를 사용한다면 내가 사용하고자 하는 요소를 적재적소에 직접 접근할 수 있으므로 데이터 검색과 접근에서 훨씬 용이점을 가지게 됩니다.

순서를 유지

위의 설명에서 리스트에는 순서가 존재한다고 했습니다. 리스트는 순서가 존재하기 때문에 이를 통해 데이터가 입력돼서 리스트에 들어온 순서 또는 특정 방식으로 정렬된 순서를 유지해야 하는 경우 매우 유용하게 사용할 수 있습니다.
다음으로는, 리스트 사용 방법을 알아보도록 하겠습니다.

사용 방법

리스트
요소를 대괄호 ‘[]’ 안에 넣어 순서대로 저장하고, 저장 순서를 숫자로 사용하는 인덱스를 통해 접근하거나 수정
리스트의 사용 방법은 “요소를 대괄호 ‘[]’ 안에 넣어 순서대로 저장하고, 저장 순서를 숫자로 사용하는 인덱스를 통해 접근하거나 수정” 입니다.
리스트 문법의 형식을 먼저 예제 코드를 통해 보여 드리겠습니다.

문법의 형식

Javascript
Python
Java
Dart
일반 명사, 고유 명사를 설명할 때 음료수 냉장고와 비교해서 리스트를 설명했었습니다.
그렇다면, 음료수 냉장고에 어떤 음료수가 있는 지 확인하거나 음료수를 넣는 동작을 코드로 표현한다면 어떻게 표현할 수 있을까요?

리스트 조회

Javascript
Python
Java
Dart
출력 결과
[ '콜라', '사이다', '오렌지주스', '콜라' ] 첫 번째 음료수: 콜라 두 번째 음료수: 사이다 세 번째 음료수: 오렌지주스 음료수 개수: 4

리스트 요소 추가

Javascript
Python
Java
Dart
출력 결과
[ '콜라', '사이다', '오렌지주스', '사이다', '오렌지주스' ]

리스트 요소 수정

Javascript
Python
Java
Dart
출력 결과
[ '콜라', '환타', '오렌지주스', '콜라' ]

리스트 요소 삭제

Javascript
Python
Java
Dart

사용 예시

Javascript
Python
Java
Dart
리스트 사용 예시를 보면서 실제로 리스트를 사용했을 때 어떤 점에서 편리한 지 직접 살펴 보도록 하겠습니다.
학생 3명의 시험 점수를 변수의 데이터로 받으려고 합니다.
이때 일반적인 변수를 사용한다면 아래의 코드와 같이 점수를 받아올 것입니다.
학생이 많아지면 많아질수록 변수도 많아지고 코드도 길어지게 될 것입니다.
하지만 리스트를 사용하면 한 개의 리스트 변수를 사용해서 점수를 모두 담을 수 있을 것입니다. 학생이 100명이 되어도 한 개의 리스트 변수를 사용해 관리하기 때문에 더욱 편리해질 것입니다.