본문 바로가기

Programming/[Python]

[Python/점프 투 파이썬 복습] 2. (2) Python 프로그래밍 자료형(리스트 자료형)

복습용/초보자 참고를 목적으로 포스팅합니다.

 

최근 들어 프로그래밍 언어들 중 직관적인 표현으로 코딩이 가능한 Python이 인기를 끌고 있습니다.

 

코드 구성의 가독성이 타 언어 대비 뛰어나고, C/C++/JAVA 에서 구현 가능한 모든 것들을 Python에서도 만들 수 있습니다.

데이터 분석부터 머신러닝, 딥러닝 등 다양한 분야에서 활용 가능한 언어 Python 지금부터 차근차근 공부해봅시다.

 

 

2. (2) 자료형(리스트)

 

2. 3 리스트 자료형

 

리스트는 어떤 숫자나 문자의 모음을 간단하게 표현해줍니다.

리스트를 만들때는 각 요소값들을 쉼표로 구분해 주며 대괄호로 감싸줍니다.

리스트에는 문자열, 숫자형 등 어떠한 자료형이든 포함시킬수 있고 빈 리스트 혹은 리스트 자체를 요소로 가질 수 있습니다.

# 리스트 예시

fruits = [apple, orange, melon]

# 여러가지 리스트의 생김새

a = []
b = [1, 2, 3]
c = ['Python', 'is', 'easy']
d = [1, 2, 'Python']
e = [1, 2, [1, 2, 3]]

리스트 인덱싱, 슬라이싱

 

리스트도 문자열과 마찬가지로 인덱싱과 슬라이싱이 가능합니다.

방식도 문자열 인덱싱 방식과 유사합니다.

다만 리스트안에 리스트(다중 구조)의 요소를 뽑아낼 경우, 대괄호를 중첩하여 사용합니다.

# 리스트 인덱싱

a = [1, 2, 3, ['a', 'b', 'c']]

a[0] # 1

a[0] + a[1] # 3

a[-1] # ['a', 'b', 'c']

a[-1][0] # a

리스트 슬라이싱의 경우는 문자열 슬라이싱과 방법이 완전히 동일합니다.

# 리스트 슬라이싱 예시

a = [1, 2, 3, 4, 5]

b = [a:2] 
b # [1, 2]

c = [2:a]
c # [3, 4, 5]

# 중첩 리스트에서 슬라이싱

a = [1, 2, [3, 4, 5]]
a[2][:1] # [3, 4]

리스트 연산자

 

리스트는 + 기호를 통해 덧셈이 가능하고 * 기호를 통해 반복이 가능합니다.

# 리스트 연산

a = [1, 2, 3]
b = [4, 5, 6]

a + b # [1, 2, 3, 4, 5, 6]

a * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3]

리스트의 수정과 변경

 

리스트의 요소값을 수정하거나 삭제하는 것도 가능합니다.

# 리스트에서 하나의 값 수정

a = [1, 2, 3]
a[2] = 4
a # [1, 2, 4]

# 리스트에서 연속된 범위의 값 수정

a[1:2] = [1, 2, 3]
a # [1, 1, 2, 3, 4]

# 리스트에서 요소 삭제

a[1:3] = []
a # [1, 3, 4]
del a[1] # [1, 4]

리스트 관련 함수들

 

함수 명 설명
.append 리스트에 요소를 추가
.sort 리스트의 요소를 정렬
.reverse 현재 리스트의 순서를 역순으로 바꿈
.index 해당 값의 인덱스를 반환
.insert 해당 위치에 값을 삽입
.remove 해당 요소를 제거
.pop 리스트의 마지막 요소를 추출하고 
기존 리스트에서 해당 값을 삭제
.count 해당 요소의 개수 세기
.extend 기존 리스트에 새로운 리스트를 추가