본문 바로가기
  •  세상 모든 꿀팁 모아 모아
취미, 공부/python

파이썬■ 리스트(List) 자료형, 생성, 인덱싱, 요소 추가,수정,삭제

by 초코코_ 2023. 5. 23.
반응형

■ 리스트(List) 자료형
 순서를 가지는 요소의 집합을 리스트라 한다. 예를들어 1,3,5,7,9 라는 숫자의 집합을 하나의 변수로써 표현할 때 리스트를 사용할 수 있다. 리스트는 '리스트명 = [요소1,요소2,요소3 …]' 의 형태를 갖는다.

■ 리스트의 생성
 ① '리스트명 = [요소1,요소2,요소3…]' 의 형태로 직접 작성
 ② '리스트명 = list()' 의 형태로 요소가 없는 빈 리스트를 작성
 ③ a = 요소1, 요소2, 요소3 이 주어졌을때 '리스트명 = list(a)'의 형태로 작성

>>>a = [1,2,3,4,5]
>>>print(type(a))
<class 'list'>

>>>a=list()
>>>print(type(a))
<class 'list>

>>>a = "Harry", "Ron", "Hermione"
>>>name = list(a)
>>>print(type(name))
<class 'list'>

*type(변수)은 해당 변수의 자료형을 확인하는 함수식으로 세 자료형이 모두 list 자료형임을 확인할 수 있다.
리스트 자료형은 대괄호 [ ] 안에 콤마 , 로 구분되는 요소의 집합이다.
▶ 숫자, 문자, 리스트, 논리 자료형 등, 모든 자료형이 리스트의 요소로 포함될 수 있다.

a = [1,2,3,4.2,5.3] ……… 숫자 포함
a = ['a',b','c'] ……… 문자 포함
a = [True, False] ……… 논리(Boolean, bool) 자료형 포함
a = [1,2,[3,4,5]] ……… 리스트 자료형 포함
a = [1,3.2,'abc',True,[1,2,3]] ……… 여러 자료형을 동시에 포함

 

■ 리스트 자료 인덱싱
 리스트 자료의 요소는 0으로 시작하는 위치값(인덱스값)을 갖는다.

>>>a = [1,3,5,7,9]
>>>a[0] ……… a[-5]와 같다
1
>>>a[1] ……… a[-4]와 같다
3
>>>a[2] ……… a[-3]과 같다
5
>>>a[3] ……… a[-2]와 같다
7
>>>a[4] ……… a[-1]과 같다
9

▶ 리스트명 = [요소1, 요소2, 요소3, 요소4, 요소5 … ] 에서 '요소1 = 0', '요소2 = 1', '요소3 = 2' … 의 인덱스 값을 갖는다. 인덱스 값은 '요소1 = 0'을 기준으로 - 방향으로도 헤아릴 수도 있다. 이 경우 가장 끝의 요소값이 -1의 인덱스 값을 갖고, 끝에서 두번째는 -2의 인덱스 값을 갖는다.
▶인덱스시 범위를 벗어나면 오류가 발생한다. 위 리스트의 요소들은 0부터 4까지의 위치값을 갖는데, 만약 a[5]의 값의 인덱싱을 시도하면 오류가 발생한다. (해당 범위의 값이 존재하지 않음)

 

■ 요소의 추가, 수정, 삭제
 리스트 자료형에서는 리스트 내에 요소를 추가, 수정, 삭제 할 수 있다.
① 요소 추가 : append, insert 등의 함수를 이용해 리스트 내에 요소를 추가할 수 있다.
② 요소 수정 : 수정하고자 하는 요소를 인덱싱 한 후 새로운 값으로 수정할 수 있다.
③ 요소 삭제 : clear, del, remove, pop 등의 함수를 통해 삭제할 수 있다.

◆요소추가
㉠ append() : 리스트 맨 끝에 요소 추가, *리스트명.append(추가할요소)
>>>a = [1,3,5,7,9]
>>>a.append(11)
>>>print(a)
[1,3,5,7,9,11]

㉡ insert() : 특정 위치에 요소 추가, *리스트명.insert(인덱스값,추가할요소)
>>>a = [1,5,7,9]
>>>a.insert(1,3)
>>>print(a)
[1,3,5,7,9]

◆요소수정
>>>a = [1,3,6,7,9]
>>>a[2] = 5
>>>print(a)
[1,3,5,7,9]

◆요소삭제
㉠ clear() : 모든 요소 삭제, *리스트명.clear()
>>>a = [1,3,5,7,9]
>>>a.clear()
>>>print(a)
[ ]

㉡ del : 지정된 위치, 범위의 요소 삭제, *del 리스트명[인덱스값]
>>>a = [1,3,5,4,7,9]
>>>del a[3]
>>>print(a)
[1,3,5,7,9]

>>>a = [1,3,5,4,4,4,7,9]
>>>del a[3:6] …………………… [3:6] 범위 지정시 a[3],a[4],a[5] 요소가 범위에 포함된다.
>>>print(a)
[1,3,5,7,9]

㉢ remove() : 지정한 값과 동일한 첫번째 값을 삭제, *리스트명.remove(삭제할요소)
>>>a = [1,3,5,9,7,9]
>>>a.remove(9)
>>>print(a)
[1,3,5,7,9]

㉣ pop() : 지정된 위치의 요소를 반환하고 삭제, *리스트명.pop(인덱스값)
>>>a = [1,3,4,5,7,9]
>>>print(a.pop(2))
>>>print(a)
4
[1,3,5,7,9]
반응형

댓글