파이썬에서는 리스트와 튜플이라는 개념이 사용됩니다. (딕셔너리도 있는데, 이건 나중에 업로드 하겠습니다)
아주 간단히만 정의하자면 리스트와 튜플은 하나의 변수에 여러 값을 저장할 수 있는데 리스트는 변경, 추가, 삭제가 가능하고, 튜플은 변경, 추가, 삭제가 불가능 합니다.
1. 리스트란?
리스트는 변수에 변수 = [값1, 값2, 값3, 값4] 식으로 사용하시면 되는데, 조금 더 정확히 말하자면 리스트 = [값1, 값2, 값3, 값4] 입니다. 변수를 선언할때와 같지만 [] 을 넣음으로써 변수보단 리스트라고 부르는게 정확 해지는겁니다.
(대괄호로 사용된다는 점 기억해주세요)
a = [1, 2, 3, 4] 을 입력 하였을때 저장되는 각 값들을 요소라고 불러지며, 어떤 자료형(문자열, 실수, 정수 등)이든 모두 저장 할 수 있습니다. 비어둔 리스트만을 선언할꺼라면 a = [] 으로 선언 하시면 됩니다.
2. 튜플이란?
맨 위에서 잠깐 설명해 두었지만 튜플은 저장된 요소들을 수정, 추가, 삭제를 할 수 없습니다. (즉, 튜플은 만든 상태에서 그대로 유지되는 읽기 전용 데이터라고 생각 하셔도 됩니다)
리스트와 마찬가지로 튜플도 딱히 선언하는건 별 차이가 없습니다.
변수는 a = 1 이고, 리스트는 a = [1, 2, 3] 이듯이 튜플은 a = (1, 2, 3) 처럼 괄호로 만드시면 됩니다.
그럼 튜플에 값을 하나만 저장할때는 a = (1) 로 하면 될것같지만, 이렇게 하면 튜플이 아니라 그냥 변수가 되어 버리기 때문에 a = (1, ) 와 같이 해주어야 합니다. 자주 사용되는 방법은 아니지만 튜플 형태를 유지하기 위할 때 사용 됩니다.
만약, 튜플을 리스트로 바꾸고 싶다면 list(튜플), 리스트를 튜플로 바꾸고 싶다면 tuple(리스트)로 바꾸시면 됩니다.
3. 리스트와 튜플을 만들때 숫자를 꼭 하나씩 입력해야 할까요?
1부터 100까지 숫자가 반복되는 리스트 또는 튜플을 만들 때 모든 숫자를 다 입력하지 않아도 됩니다.
range() 는 지정한 숫자를 생성해주는데 range(횟수) 또는 range(시작, 끝) 또는 range(시작, 끝, 건너뛸회수) 으로 사용하시면 됩니다.
a = list(range(100)) 을 입력하고 print(a) 로 변수안에 들어가있는 숫자를 확인해보면 0~99까지의 숫자가 나오게 되는데, 0부터 시작해서 100회를 생성하기 때문에 0~99가 생성됩니다.
a = list(range(50, 100) 을 입력하면 50부터 99까지의 숫자가 생성되고, 50부터 100까지를 하고싶다면 50, 101 으로 지정해주면 됩니다.
1부터 100까지의 숫자 중 홀수만 생성하고 싶으면 a = list(range(1, 101, 2)) 를 사용하면 1부터 100까지의 숫자를 생성할 때 1에서부터 시작하면서 2칸씩 건너뛰어 홀수만 출력 됩니다.
4. 패킹(packing)과 언패킹(unpacking)
파이썬을 공부 하다보면 리스트 패킹, 리스트 언패킹, 튜플 패킹, 튜플 언패킹과 같은 단어를 한번쯤은 보게 됩니다.
패킹은 여태 글에서 적었던 내용인데, 변수에 리스트 또는 튜플을 할당하는 과정 입니다. (a = [1, 2, 3] 과 같이)
패킹이 변수에 리스트 또는 튜플을 할당하는 과정이라면, 언패킹은 리스트 또는 튜플에 저장되어있는 요소들을 변수 여러개에 할당해주는 과정 입니다.
'Programming > Python' 카테고리의 다른 글
[Python 3.7] 파이썬 인덱스와 슬라이스 (1) (0) | 2020.01.12 |
---|---|
[Python 3.7] 시퀀스 자료형이란? (0) | 2020.01.11 |
[Python 3.7] 파이썬 비교 연산자와 논리 연산자 (개념, 종류) (1) | 2020.01.11 |
[Python 3.7] 파이썬 변수란? (할당 및 활용 map, input) (0) | 2020.01.11 |
[Python 3.7] 파이썬 숫자 계산과 사칙연산 (2) | 2020.01.10 |