리스트(list) 자료형
리스트(list)란?
임의의 파이썬 objects들의 모임
Compound data
입력된 순서 유지
어떤 자료형도 저장 가능
리스트(list) 생성 방법
- 기본적인 생성 방법
리스트명 = [a, b, c, d, ...]
example
list1 = list() # 생성자를 사용하여 리스트 생성
list2 = [] # empty list
list3 = [1, 2, 3, True, 'A', [1, 2, 3]] # 리스트 자체를 요솟값으로 가질 수 있다
list4 = ['Life', 'is', 'too', 'short']
리스트 위치 반환(index)
a = [1, 2, 3] a.index(3) res : 2 # 3이란 값이 2번 인덱스에 있다. a.index(1) res : 0 a.index(4) res : 오류 발생
리스트(list) 인덱싱
a = [1, 2, 3] a[0] res : 1 a[0] + a[2] res : 4 a[-1] res : 3
리스트 안에 리스트가 있는 경우 데이터에 접근하는 방법
a = [1, 2, 3, ['a', 'b', 'c']] a[3] res : ['a', 'b', 'c'] a[-1][0] res : 'a' a[-1][1] res : 'b'
리스트(list) 슬라이싱
a = [1, 2, 3, 4, 5] a[0:2]의 결과 : [1, 2]# 0부터 2 전까지 --> 0, 1 --> 문자열의 슬라이싱과 사용법이 동일하다. a[:2] # 처음부터 a[1]까지 a[2:] # a[2]부터 끝까지 a = [1, 2, 3, ['a', 'b', 'c'], 4, 5] a[3][:2] # [3]으로 리스트 접근 후 [:2] res : ['a', 'b']
리스트(list) 연산
리스트 더하기
a = [1, 2, 3] b = [4, 5, 6] a + b res : [1, 2, 3, 4, 5, 6]
리스트 반복하기
a = [1, 2, 3] a * 3 res : [1, 2, 3, 1, 2, 3, 1, 2, 3]
같은 자료형끼리만 연산이 가능하다
a = [1, 2, 3] a[2] + "hi" res : 에러발생 Why? a[2] 는 정수형이고, hi는 문자열이기 때문에, 다른 자료형끼리 연산을 실행해 오류가 발생한다.
리스트 길이 구하기
len(리스트이름)
a = [1, 2, 3] len(a) res : 3
리스트의 수정과 삭제
리스트 수정
a = [1, 2, 3] a[2] = 4 # 2번 인덱스에 있는 3을 4로 변경
리스트 요소 삭제(del, remove)
del (객체)
(리스트).remove(index)
a = [1, 2, 3] del a[1] # 1번 인덱스에 있는 2 삭제 a res : [1, 3] a = [1, 2, 3, 4, 5] del a[2:] # 2번 인덱스에 있는 요소부터 끝 인덱스이 있는 요소 전부 삭 a res : a[1, 2] a = [1, 2, 3, 1, 2, 3] a.remove(3) a res : [1, 2, 1, 2, 3]
리스트에 요소 추가 / 삽입(append, insert)
(리스트).append(추가할 요소)
(리스트).insert(a,b) : a번째 위치에 b를 삽입한다
a = [1, 2, 3] a.append(4) a res : [1, 2, 3, 4] a = [1, 2, 3] a.append([5, 6]) a res : [1, 2, 3, 4, [5, 6]] a = [1, 2, 3] a.insert(0, 4) a res : [4, 1, 2, 3] a.insert(3, 5) a res : [4, 1, 2, 5, 3]
리스트 정렬 함수(sort)
(리스트).sort() # 기본적으로 오름차순으로 정렬
(리스트).sort(reverse=True) # 리스트가 내림차순으로 정렬
a = [1, 4, 3, 2] a.sort() a res : [1, 2, 3, 4] a.sort(reverse=True) a res : [4, 3, 2, 1] a = ['a', 'c', 'b'] a.sort() a res : ['a', 'b', 'c']
리스트 뒤집기(reverse 함수)
(리스트).reverse()
a = ['a', 'c', 'b'] a.reverse() a res : ['b', 'c', 'a']
리스트 요소 끄집어 내기(pop 함수)
리스트.pop() : 리스트 맨 마지막 요소를 return 하고 요소는 삭제한다
리스트.pop(x) : x번째 요소를 return하고 그 요소는 삭제한다.
a = [1, 2, 1, 2, 3] a.pop() res : 3 a res : [1, 2, 1, 2]
a = [1, 2, 1, 2]
a.pop(1)
res : 2
a
res : [1, 1, 2]
```
리스트에 포함된 요소 x의 개수 세기(count 함수)
a = [1, 2, 3, 1] a.count(1) res : 2
리스트 확장(extend) 함수
(리스트).extend(x)
x는 오직 리스트만 가능, a 리스트에 x 리스트를 더한다.
a = [1, 2, 3] a.extend([4, 5]) # a += [4, 5]와 동일 a res : [1, 2, 3, 4, 5] b = [6, 7] a.extend(b) a res : [1, 2, 3, 4, 5, 6, 7]
참조) Do it! 점프 투 파이썬 (박응용 지음), https://wikidocs.net (파이썬 계단밟기)
'Programming Language > Python' 카테고리의 다른 글
[Python] 06. 집합(set) 자료형 (0) | 2023.11.05 |
---|---|
[Python] 05. 튜플(Tuple) 자료형 (0) | 2023.11.04 |
[Python] 02. 변수의 선언과 자료형, 연산 (0) | 2023.11.04 |
[Python] 03. 파이썬 표준 출력과 문자열 (0) | 2023.11.02 |
[Python] 01. Introduction (0) | 2023.11.01 |