오늘의 파이썬_[자료형] 리스트, list, 파이썬 list

728x90
반응형

파이썬에는 리스트(List)라는 자료형이 존재한다. C로 비유하자면 배열과 비슷한 개념이다. 리스트는 어떤 데이터를 일렬로 늘어놓고 저장한 형태다. 공통된 데이터를 하나로 묶는데 사용되고 숫자형과 문자열을 혼합해 사용 할 수 있다. 글 보다는 실제 문법을 통해 리스트를 이해하는것이 더 빠를것 같다. 리스트는 어떻게 만들고 어떻게 활용하는지 알아보도록 하자! 

 

1. 리스트 선언

 

 

a = [1, 2, 3, 4, 5, 6]
str = ['mon', 'thue', 'wed', 'thur', 'fri', 'sat', 'sun']

첫 번째 줄은 a 라는 리스트를 선언하고 여기에 순서대로 1, 2, ,3, 4, 5, 6 을 저장한다. 리스트에 저장된 값을 '요소'라고 한다. 리스트 저장된 값의 순서를 '인덱스' 라고 표현한다. 

 

" 리스트 a의 인덱스 0(첫 번째)의 값은 1이다."

 

 

print(a[0])

위 코드의 결과는 1 이다. "리스트 a 의 0번째 요소에 저장된 값은 1이다" 그럼 여기서 왜 1번부터 시작하지 않고 0번부터 시작하냐는 의문을 가질수 있을것이다. 흠.. 숫자의 시작은 0이니까! 

 

파이썬의 리스트는 인덱스에 '-'(마이너스) 표현이 가능하다. 이게 무슨말이냐면

print(a[5])

위와 같이 a의 5번째 요소를 출력하면 숫자 6이 출력될 것이다. 파이썬에서는 리스트의 대괄호안에 [-1]을 입력하면 [5]를 입력했을때와 같인 결과를 확인 할 수 있다.

print(a[-1])

이런 기능은 왜 있는걸까? 아직 많이 사용해보지 않아서 모르겠지만 아마도 리스트의 마지막 요소를 확인하기 위해 있는것이 아닐까 라는생각이든다. 

 

print[-1]을 하던, print[5]를 하던 결과는 같은데 헷갈리게 굳이 -1로 표현할 이유가 없다. 하지만 리스트의 마지막 요소를 확인하기 위해서는 리스트의 크기를 알아야 하는대 파이썬에서는 리스트의 크기를 지정하지 않는다. 이런이유 때문에 인덱스를 '-'로 표현하는 방법이 있는거 아닐까.. 그냥 내 개인적인 생각이다. 

 

아무튼 [-1]로 리스트의 마지막 요소값을 확인 할 수 있고, [5]와 같은 결과가 출력된다!

 

2. 2차원 리스트 선언

 

 

a = [[1, 2, 3, 4, 5, 6], ['mon', 'thue', 'wed', 'thur', 'fri', 'sat']]

2차원 리스트(다중 리스트, 중첩리스트)는 데이터를 2차원 평면구조로 표현 할 수 있다. 1.1 리스트의 선언을 이해 했다면 이 내용은 그리 어렵지 않게 이해 할 수 있을 것이다. 

위 그림과 같이 표현된다. 대괄호[] 안에 대괄호가 행의 묶음이 된다.

print(a[0])

위 코드를 실행 시키면 a의 첫번째 행의 모든 요소가 출력된다. 

print(a[1][1])

위 코드를 실행시키면 a의 두번째 행, 두번째 열의 값인 'thue'를 출력한다. 

 

2차원 리스트에서도 인덱스에 '-' 값을 사용 할 수 있다. 

print(a[-1][-1])

위 코드를 실행시키면 마지막 행, 마지막 열의 값인 'sat'가 출력된다.

 

행의 모든 요소를 출력하려면 아래와같이 입력하면 된다.

print(a[0])

 

3. 3차원 리스트 선언

 

파이썬도 다른 언어와 마찬가지로 3차원 데이터 표현을 제공한다. 

a=[ [[1,2,3], [4,5,6]], 
    [['a','b','c'], ['e','f','g']], 
    [['A','B','C'], ['E','F','G']] ]

 

설명은 위 그림 기준으로 설명하도록 하겠다.

print(a[0][0][0])

위와 같이 입력하면 Layer 0의 행0, 열 0의 값인 1이 출력된다. 가로에 해당하는 "행"이 x축, 세로에 해당하는 "열"이 y축, Layer가 z 축이다.

3차원 리스트 또한 인덱스에 '-'를 사용 할 수 있다.

 

print(a[-2][-1][-2])

위 코드를 입력하면 -2번째 Layer인 Layer 1, -1번째 ['e', 'f', 'g'] 행, -2번째 열의 요소 'f' 를 출력한다.

 

4. 빈 리스트 선언

 

 

a = []
a = list()

위와 같이 작성하게 되면 a라는 비어있는 리스트가 생성된다. 그렇다면 비어있는 리스트를 생성하는 이유는 뭘까? 비어있는 리스트는 새로운 값을 추가하기 위한 용도로 많이 사용한다. 

 

더 이어나가려 했는데 리스트를 다루는 방법에 대해 설명하면 빈 리스트를 선언하는 이유에 대해서는 충분히 설명이 될거같아서 여기까지 하도록 하겠다.

 

 

-끝-

728x90
반응형