본문 바로가기

[Python] 파이썬 리스트, 듀플, 딕셔녀리 사용하기

I am bucks 발행일 : 2023-03-16

이번 글에서는 파이썬 리스트, 듀플, 딕셔너리를 사용하는 방법에 대해 알아보겠습니다.

1. 파이썬 리스트

지난 글에서는 자료형 종류 및 자료형 변환 방법에 대해 알아보았습니다.

[Python] 자료형 종류(Data type) 및 자료형 변환 방법

 

[Python] 자료형 종류(Data type) 및 자료형 변환 방법

이번 글에서는 파이썬의 기본적으로 알아야 할 자료형 종류와 문자열, 이스케이프 문자, 자료형 변환방법에 대해 알아보겠습니다. 1. 자료형 종류 이전글에서는 파이썬 변수 및 연산자, input() 함

iambucks.com

 

리스트는 여러 개의 데이터를 담을 수 있고, 인덱스로 접근할 수 있는 데이터 자료 유형입니다. 다시 말하면 리스트는 시퀀스의 하나로 여러 요소를 순서대로 저장할 수 있으며 정렬, 추가, 삽입 등 다양한 처리를 할 수 있습니다. 파이썬의 데이터 형태를 분류하면 가변속성과 불변속성 데이터 형태로 나눌 수 있습니다. 리스트와 튜플은 유사하지만 튜플의 내용은 한 번 지정되면 변경할 수 없는 불변속성 데이터 형태입니다. 반면에 리스트는 자유롭게 내용을 변경할 수 있습니다.

 

리스트 생성 및 추가하기

리스트를 새롭게 생성할 때는 [ ] 안의 요소를 쉼표(,)로 구분하여 나열합니다. 리스트의 요소는 숫자 값과 문자열을 자유롭게 저장할 수 있습니다. 리스트 안에 데이터를 추가하기 위해서는 더한다는 의미를 가진  .append( ) 메서드를 사용합니다.

fruits = []
fruits.append('orange')
print(fruits)

<실행 결과>
['orange']

리스트 요소 참조하기

리스트는 요소에 인덱스 번호를 붙여서 참조를 합니다. 특히 인덱스 번호는 0부터 시작한다는 것을 기억해야 합니다. 리스트 요소를 참조할 때에는 [ ]로 인덱스를 지정합니다.

fruits = ['바나나', '포도', '파인애플']
print(fruits[0], fruits[1], fruits[2])

<실행 결과>
바나나 포도 파인애플

 

리스트 연산

덧셈(+)을 사용하여 리스트를 합칠 수 있습니다.

fruits1 = ['바나나', '포도', '파인애플']
fruits2 = ['오렌지', '망고']
fruits2 + fruits1

<실행 결과>
['오렌지', '망고', '바나나', '포도', '파인애플']

리스트 슬라이싱

슬라이싱은 리스트에서 원하는 요소를 선택해서 가져오는 것입니다. 슬라이싱 하는 방법은  [시작:끝] 형식을 사용하여 범위를 지정합니다. [시작:끝:스텝값]처럼 스텝값을 세 번째 원소로 넣을 수 있습니다. 이 경우에는 스텝값만큼 건너뛰며 값을 출력합니다. [:]처럼콜론만 있을 경우 리스트의 처음부터 끝까지 처리합니다.

한글 = ['가', '나', '다', '라']
pritnt(한글[ : ])
pritnt(한글[1:2])
pritnt(한글[1:3:1])

<실행 결과>
['가', '나', '다', '라']
['나', '다']
['나', '다', '라']

range(start, stop, step) 함수

range( ) 함수를 이용하면 특정한 범위의 연속된 번호를 갖는 시퀀스를 얻을 수 있습니다. range 타입을 생성할 때는 range 함수의 인수에 시작(start), 종료(stop), 단계(step)를 지정할 수 있습니다. 이때 주의할 사항은 종료(stop)는 범위에 포함되지 않는다는 점입니다. 그리고 시작(start), 단계(step) 값은 기본값이 존재합니다. 시작 기본값은 0, 단계 기본값은 1입니다. 따라서 시작(start)과 단계(step)는 생략해도 되지만, 종료(stop)는 반드시 입력해야 합니다. 단계(step)에 음수를 지정하면 역방향으로 건너뛰게 됩니다. 괄호 안에 숫자가 2개만 있을 경우 시작(start), 종료(stop)로 인식하며, 단계(step)는 기본값을 1로 설정됩니다.

 

list( ) 함수에 range( ) 함수를 적용하면 range( ) 함수가 생성하는 정수를 얻을 수 있습니다. 또한 range() 함수는 for 반복문에서 리스트 안의 값만큼 반복하기 위해서도 많이 사용합니다. 

list(range(1, 10, 2))
<실행 결과>
[1, 3, 5, 7, 9]
list(range(20, -11, -5))

<실행 결과>
[20, 15, 10, 5, 0, -5, -10]

 

2. 파이썬 듀플

튜플은 한 번 정해지면 변경이 불가능하므로 구조가 단순한 장점이 있으며, 파이썬을 배우고 있는 초보가 느끼기는 어렵지만 리스트에 비해서 액세스 속도가 빠르다고 합니다. 튜플은 소괄호( )로 생성하며, 튜플의 인덱싱은 리스트와 동일하게 [ ] 사용합니다.

과일 = ('망고', '파인애플', '바나나')
print(과일)
print(과일[1])

<실행 결과>
('망고', '파인애플', '바나나')
파인애플

 

3. 파이썬 딕셔너리

딕셔너리는 리스트처럼 값을 저장하는 자료구조로, 키(key)와 값(value)의 조합으로 여러 값을 저장할 수 있습니다. 딕셔너리는 키와 값을 콜론(:)으로 연결한 것을 중괄호 { } 안에 나열하는 방법을 사용합니다.

 

대괄호 [ ] 안에 키를 지정하여 딕셔너리의 값을 참조할 수 있습니다.

a = {'key1':200, 'key2':300}
b = a['key1']
print(b)

<실행 결과>
200

딕셔너리에 값을 추가할 때에는 대괄호 [ ] 안에 키를 지정하여 대입합니다.

a = {'key1':200}
a['key2'] = 300
print(a)

<실행 결과>
{'key1':200, 'key2':300}

 

4. 리스트와 딕셔너리 차이점

딕셔너리가 리스트와의 차이점은 리스트의 .append() 메서드를 지원하지 않습니다. 그리고 중복값을 허용하는 리스트와는 달리 딕셔너리는 키-값 쌍으로 이루어져 있어 중복된 쌍을 허용하지 않습니다. 또한 리스트에서는 특정 값에 접근할 때 index를 사용하지만, 딕셔너리에서는 키값만 사용할 수 있습니다. 다음 글에서는 파이썬 조건문과 반복문에 대해 알아보겠습니다.

 

 

 

댓글