List가 무엇인가요?
C언어에서 여러 변수들을 하나의 아파트에 담아두는 것을 배열(Array)이라고 하였습니다.
#include <stdio.h>
int main()
{
int arr[5] = {1,2,3,4,5};
return 0;
}
파이썬에도 이러한 기능을 하는게 있습니다. 바로 리스트입니다.
위 소스코드를 보면 1,2,3은 정수지만 Crush는 문자입니다.
data[0]+data[2]는 1과 3의 합이므로 4가 잘 나옵니다.
data[0]+data[3]은 정수와 문자의 합이므로 TypeError가 뜹니다.
Ok, 그럼 이 리스트가 가진 특징을 좀 더 알려주세요.
첫 번째 : 리스트는 대괄호를 사용합니다. [] 이건데요. 아래서 다룰, 튜플과 딕셔너리와 구분짓는 중요한 개념입니다.
두 번째 : 슬라이싱 기능, 데이터 수정이 가능하다는 것.
데이터 수정이 가능하다는 것은 굉장히 중요한 특징입니다. 튜플과 완전 상반되는 개념이거든요. 그럼 몇가지 함수를 살펴보겠습니다.
튜플은 리스트랑 뭐가 다른가요?
리스트는 데이터 수정이 가능했다면, 튜플은 그렇지 않습니다.
튜플의 경우는 변경시키면 안되는 값, 고유값을 선언해야할 때 사용합니다.
예를 들면, 우리가 게임을 플레이하려면 먼저 캐릭터를 생성해야 합니다. 그리고 이 캐릭터에게 닉네임을 지어줘야겠죠?
물론 몇몇 게임은 '닉네임 변경권' 같은 아이템이 있겠지만, 일단 통상적으로 닉네임은 고정입니다. 이런 케이스는 튜플을 써야할 것입니다.
위에 append를 쓰지 않은 튜플은 출력이 잘되지만, append 쓴 애는 에러가 뜹니다. 친절하게 설명하고 있네요. 튜플 객체는 append를 쓸 수 없다!
그럼 딕셔너리는 뭔가요?
딕셔너리는 일단 중괄호 {}를 써서 리스트와 튜플과 구분을 합니다.
딕셔너리는 Key값과 Value값으로 구성됩니다.
이런 특징은 자료구조를 배우신 분들은 굉장히 많이 들어보셨을 '해쉬 테이블 (Hash Table)'과 연관이 깊습니다.
딕셔너리 자료형을 선언해본 것입니다. Key : Value 시스템으로 구성되었고
Keys값만 따로 출력하였더니 이름과 나이, 사는 곳이 나옵니다.
그리고 Values값만 따로 출력하였더니 그에 대응되는 값이 나옵니다.
다음 포스팅에서는 문자열 슬라이싱에 대해 다루겠습니다.