본문 바로가기
Python/02. 파이썬의 기초, 자료형

02-3 리스트 자료형

by gamdong2 2024. 6. 25.

📖 리스트란?

  • 리스트명 = [요소1, 요소2, ...]
  • 리스트를 사용하면 1, 3, 5, 7, 9의 숫자 모음을 간단하게 표현할 수 있음
  • 리스트 안에는 어떠한 자료형도 포함할 수 있음 (숫자, 문자열, 리스트 자체...)
>>> odd = [1, 3, 5, 7, 9]
>>> a = []
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]

 

 

1. 리스트의 인덱싱과 슬라이싱

1) 리스트의 인덱싱

>>> a = [1, 2, 3]
>>> a[0]   #리스트 a의 첫 번째 요소
1
>>> a[0] + a[2]
4
>>> a[-1]   #리스트 a의 마지막 요소
3
>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[0]
1
>>> a[-1]
['a', 'b', 'c']
>>> a[3]
['a', 'b', 'c']
>>> a[-1][0]   #리스트 a에 포함된 ['a', 'b', 'c'] 리스트에서 첫 번째 요소를 추출
'a'

 

2) 리스트의 슬라이싱

>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]
[1, 2]

cf) 문자열의 슬라이싱 예와 비교 '완전 동일'
>>> a = "12345"
>>> a[0:2]
'12'
>>> a = [1, 2, 3, 4, 5]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[1, 2]
>>> c
[3, 4, 5]
=====중첩된 리스트에서 슬라이싱하기=====
>>> a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
>>> a[2:5]
[3, ['a', 'b', 'c'], 4]
>>> a[3][:2]
['a', 'b']

 

 

 

2. 리스트 연산하기

1) 리스트 더하기 (+)

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b   #두 개의 리스트를 합침
[1, 2, 3, 4, 5, 6]

 

2) 리스트 반복하기 (*)

>>> a = [1, 2, 3]
>>> a * 3   #리스트를 세 번 반복
[1, 2, 3, 1, 2, 3, 1, 2, 3]

 

3) 리스트 길이 구하기 (len)

>>> a = [1, 2, 3]
>>> len(a)
3

 

[TIP] 리스트 연산 오류
>>> a = [1, 2, 3]
>>> a[2] + "hi"
Error   #a[2]의 정수 3 & 문자열 "hi"랑 서로 더할 수 없음

>>> str(a[2]) + "hi"   #a[2] 값(숫자 3)을 문자 '3'으로 변경
3hi​

 

 

 

3. 리스트 수정 · 삭제

1) 리스트의 요소 수정

>>> a = [1, 2, 3]
>>> a[2] = 4   #a[2] 요솟값 3을 4로 바꿈
>>> a
[1, 2, 4]

 

2) 리스트의 요소 삭제 (del)

>>> a = [1, 2, 3]
>>> del a[1]   #리스트 a의 두 번째 요소값을 삭제
>>> a
[1, 3]
=====슬라이싱 기법을 사용, 리스트의 요소 여러 개를 한꺼번에 삭제=====
>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]   #a[2]부터 끝까지 삭제
>>> a
[1, 2]

 

 

 

4. 리스트 관련 함수

1) 리스트에 요소 추가 (append)

* append : 덧붙이다, 첨부하다

>>> a = [1, 2, 3]
>>> a.append(4)   #리스트 a의 맨마지막에 4를 추가
>>> a
[1, 2, 3, 4]

=====리스트에 리스트를 추가=====
>>> a.append([5, 6])
>>> a
[1, 2, 3, 4, [5, 6]]

 

 

2) 리스트 정렬 (sort)

>>> a = [1, 4, 3, 2]
>>> a.sort()   #리스트 a의 요소를 순서대로 정렬
>>> a
[1, 2, 3, 4]

=====문자를 알파벳 순서로 정렬=====
>>> a = ['a', 'c', 'b']
>>> a.sort()
>>> a
['a', 'b', 'c']


3) 리스트 뒤집기 (reverse)

>>> a = ['a', 'c', 'b']
>>> a.reverse()   #리스트 a를 역순으로 뒤집음(정렬 상관x, 그대로 뒤집음)
>>> a
['b', 'c', 'a']

 

4) 인덱스 반환 (index)

>>> a = [1, 2, 3]
>>> a.index(3)   #리스트 a의 요소 '3'의 인덱스 값(위치값)을 리턴
2   #요소 '3'은 리스트 a의 세 번째(a[2]) 요소
>>> a.index(1)
0
>>> a.index(0)   
Error   #요소 '0'은 리스트 a에 존재하지x

 

5) 리스트에 요소 삽입 (insert)

>>> a = [1, 2, 3]
>>> a.insert(0, 4)   #a[0] 위치에 4 삽입
>>> a
[4, 1, 2, 3]

>>> a.insert(3, 5)   #a[3] 위치에 5 삽입
>>> a
[4, 1, 2, 5, 3]

 

6) 리스트 요소 제거 (remove)

>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)   #리스트에서 첫 번째로 등장한 요소 '3'을 삭제
>>> a
[1, 2, 1, 2, 3]
>>> a.remove(3)   # remove(3)을 한 번 더 실행
>>> a
[1, 2, 1, 2]


7) 리스트 요소 끄집어 내기 (pop)

=====pop()======
>>> a = [1, 2, 3]
>>> a.pop()   #pop() : 리스트의 맨 마지막 요소를 리턴 & 그 요소는 삭제
3
>>> a
[1, 2]

=====pop(x)======
>>> a = [1, 2, 3]
>>> a.pop(1)   #pop(x) : 리스트의 x번째 요소를 리턴 & 그 요소는 삭제
2
>>> a
[1, 3]

 

8) 리스트에 포함된 요소 x의 개수 세기 (count)

>>> a = [1, 2, 3, 1]
>>> a.count(1)   #리스트 a 안에 '1'이 몇 개 있는지 조사 → 그 개수를 리턴
2

 

9) 리스트 확장 (extend)

>>> a = [1, 2, 3]
>>> a.extend([4, 5])   #extend(x) : x에는 리스트만 올 수 있음. 리스트 a 에 리스트 x 를 더함
>>> a
[1, 2, 3, 4, 5]
>>> b = [6, 7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]

cf) a.extend([4, 5])는 a += [4,5] 와 동일

 

 

 

 

 

출처 : ⎡Do it! 점프 투 파이썬 (박응용)

'Python > 02. 파이썬의 기초, 자료형' 카테고리의 다른 글

02-5 딕셔너리 자료형  (0) 2024.06.27
02-4 튜플 자료형  (0) 2024.06.25
02-2-4 문자열 관련 함수들  (0) 2024.06.24
02-2-3 포매팅  (1) 2024.06.24
02-2-2 연산 · 인덱싱 · 슬라이싱  (0) 2024.06.24