컬렉션 자료형 - 1. 리스트 자료형

Ⅰ. 리스트 자료형

1. 컬렉션 자료형

 - 컬렉션

    - 여러 개의 값을 하나의 변수에 담을 수 있음

    - 변수 안에 공간을 여러 개 가짐

    - 변수 안에 서로 다른 공간을 찾는 방법이 있음

 

2. 컬렉션 자료형의 종류

컬렉션 자료형 종류 생성방법
리스트(list) [ ]
튜플(tuple) ( )
딕셔너리(dictionary) {키:값}
세트(set) { }

 

3. 리스트 자료형

 - 많은 양의 데이터들을 한 번에 모아 효율적으로 처리하고 저장할 수 있음

 - 하나의 리스트 변수를 이용하여 여러 데이터를 효율적으로 저장하고 처리

 

4. 리스트 문법

 - 대괄호[ ] 안에 서로 다른 자료형의 값을 콤마(,)로 구분

    → ex) 리스트명 = [값1, 값2, 값3, ...]

 - 빈 리스트 생성과 리스트 초기화

# Example
a = []		# 빈 리스트 생성
b = list()	# 리스트 초기화

c = [1, 2, 3, 4, 5]		# (숫자열 리스트)
d = ['Hello', 'Python']		# (문자열 리스트)

# 리스트는 여러가지 종류도 섞어서 가능
e = [1, 2, 'Hello', [10, 20]]	# 숫자열 & 문자열 리스트

 

 5. 리스트 인덱싱(Indexing) 및 슬라이싱(Slicing)

 - 리스트도 문자열처럼 인덱싱과 슬라이싱이 가능

 

 - 리스트 인덱싱

# Example
a = [10, 20, 30, 40]
print(a[0])		# 10 (리스트 첫 번째 값을 가져옴)
print(a[0] + a[1])	# 30
print(a[-1])		# 40 (리스트 마지막 값을 가져옴)
print(a[4])		# a[4]의 공간은 없으므로 오류발생

 

리스트 슬라이싱

    - 슬라이싱은 새로운 리스트를 반환

    - a[ : ] 로 사용

 

6. 리스트 값 변경

- 리스트의 값을 변경하기 위해서는 첨자(인덱스)를 사용해서 그 위치의 값을 변경

# Example
a = [10, 20, 30]
a[0] = 100
print(a)	# [100, 20, 30]
a[1:3] = [90, 100]
print(a)	# [100, 90, 100]

 

7. 리스트 조작함수

 - 문자열과 마찬가지로 리스트도 리스트변수 이름 뒤에 마침표(.)를 붙인 다음 함수 이름을 사용

함수 설명 사용법
append( ) 리스트에 요소를 마지막 위치에 새로 추가 리스트.append(값)
insert( ) 리스트의 해당 위치에 요소를 새로 삽입 리스트.insert(위치, 값)
sort( ) 오름차순 정렬
내림차순 정렬
리스트.sort( )
리스트.sort(reverse = Ture)
reverse( ) 현재의 리스트를 그대로 거꾸로 뒤집음 리스트.reverse( )
pop( ) 리스트 제일 뒤의 항목을 빼내고, 빼낸 항목은 삭제
제거할 위치에 있는 요소를 제거
리스트.pop( )
리스트.pop(위치)
remove( ) 해당 요소를 찾아 삭제 리스트.remove(삭제할 값)
count( ) 해당 요소의 개수를 반환 리스트.count(찾을 값)
index( ) 리스트에 위치 값이 있으면 위치값을 반환 리스트.index(값)
len( ) 리스트 총 요소 개수를 반환 len(리스트)

 

 - append(x) 함수 : 리스트 맨 마지막에 x의 값을 추가

 - insert(index, x) 함수 : 리스트의 원하는 위치에 값을 추가. 리스트 위치에 x의 값을 넣음

# Example
a = [10, 20]
a.append(30)        # a에 30 추가
print(a)            # [10, 20, 30]

a.append([40, 50])  # 리스트에 리스트도 추가 가능
print(a)            # [10, 20, 30, [40, 50]]

a.insert(1, 15)     # 1번째 위치의 값을 15로 변경
print(a)            # [10, 15, 20, 30, [40, 50]]

 

 - sort( ) 함수

    - 리스트를 정렬할 때 사용

    - sort( ) : 오름차순 정렬

    - sort(reverse = True) : 내림차순 정렬

# Example
a = [8, 6, 5, 2, 4]
a.sort()                # 오름차순 정렬
print(a)                # [2, 4, 5, 6, 8]

a.sort(reverse = True)  # 내림차순 정렬
print(a)                # [8, 6, 5, 4, 2]

a = ['haha', 'aa', 'pupu']
a.sort()                # 알파벳 정렬
print(a)                # ['aa', 'haha', 'pupu']

a = ['리스트', '튜플', '딕셔너리', '세트']
a.sort()                # 한글정렬
print(a)                # ['딕셔너리', '리스트', '세트', '튜플']

a.sort(reverse = True)  # 내림차순 정렬
print(a)                # ['튜플', '세트', '리스트', '딕셔너리']

 

 - pop( ) 함수 : 리스트 맨 뒤의 값을 빼내고, 뺴낸 항목은 삭제

 - pop(index) 함수 : 리스트에서 index가 가리키는 값을 빼내고, 빼낸 항목은 삭제

 - remove(x) 함수 : 리스트에서 x를 삭제하는 함수 (단, x값이 중복되면 가장 앞의 값만 삭제)

# Example
a = [10, 20, 30, 40]
a.pop()         # 맨 뒤의 값을 삭제
print(a)        # [10, 20, 30]

a.pop(1)        # 1의 위치에 있는 값 삭제
print(a)        # [10, 30]

a.remove(30)    # 값 30 삭제
print(a)        # [10]

a.remove(0)     # 없는 값은 삭제 불가능(오류발생)

 

 - count( ) 함수 : 리스트에서 찾을 값의 개수를 셈

# Example
a = [10, 20, 30, 20]
print(a.count(20))                  # 2 (값 20의 개수를 셈)

a = ['박수지', '배수지', '배수지']
print(a.count('배수지'))            # 2 (값 배수지의 개수를 셈)

 - index( ) 함수 : 리스트에서 값의 위치 변환

# Example
a = [10, 20, 30]
print(a.index(20))      # 1 (값 20 이 있는 위치를 나타냄)
print(a.index(10))      # 0

 

'Programming Language > Python' 카테고리의 다른 글

컬렉션 자료형 - 3. 세트 자료형  (0) 2022.08.15
컬렉션 자료형 - 2. 튜플 & 딕셔너리  (0) 2022.08.09
기본 자료형  (0) 2022.08.07
입력과 출력  (0) 2022.08.06
변수와 연산자 - 4. 연습문제  (0) 2022.08.06