파이썬
[Python] 리스트
김고찰
2022. 1. 10. 22:11
- 리스트(List) : 순서대로 저장하는 시퀀스, 변경 가능한 목록(Mutable List)
1. 리스트 활용
"""
리스트의 선언
"""
a=list()
a=[]
"""
append()를 통해 요소 삽입 가능
"""
a=[1,2,3]
a.append(4) # 리스트의 맨 마지막에 요소 4 삽입
print(a)
[결과]
[1, 2, 3, 4]
"""
insert()함수는 리스트의 특정 index를 지정하여 요소를 추가할 수 있음
"""
a.insert(2,10) # index=2에 요소 10을 삽입
print(a)
[결과]
[1, 2, 10, 3, 4]
"""
리스트는 다양한 자료형의 요소들을 관리할 수 있음
"""
a.append('Hello') # 문자열
a.append(False) # 불린형
print(a)
[결과]
[1, 2, 10, 3, 4, 'Hello', False]
"""
리스트 요소에 접근할 때는 index 사용
"""
print(a[2]) # index=2 요소 출력
[결과]
10
"""
슬라이싱(':')을 통해 범위를 설정할 수 있음
(시작과 끝의 index 생략 가능)
"""
print(a[1:3]) # index=1 ~ index=2
print(a[:3]) # index=0 ~ index=2
[결과]
[2, 10]
[1, 2, 10]
"""
범위 밖 index 설정 시 오류(Index Error)
"""
print(a[10]) # 리스트 범위 밖 index 출력
[결과]
Traceback (most recent call last):
File " ", line 15, in <module>
print(a[10])
IndexError: list index out of range
"""
리스트 요소의 삭제는
1. index로 삭제(del)
2. 요소 값으로 삭제(remove())
"""
print('original:',a)
del a[2] # 리스트 a의 index=2 요소 삭제
print('after delete index=2:',a)
a.remove(4) # 리스트 a의 요소 4 삭제
print('after delete value=4:',a)
[결과]
original: [1, 2, 10, 3, 4, 'Hello', False]
after delete index=2: [1, 2, 3, 4, 'Hello', False]
after delete value=4: [1, 2, 3, 'Hello', False]
"""
pop(index) 함수는 c에서의 스택(stack)의 pop 연산과 같음
삭제될 값을 반환 후 삭제
"""
print(a.pop(3)) # 리스트 a의 index=3 요소 출력 후 삭제
print(a)
[결과]
Hello
[1, 2, 3, False]
2. 리스트의 특징
- 파이썬은 모든 것이 객체이며, 파이썬의 리스트는 이들 객체에 대한 포인터 목록을 관리하는 형태로 구현되어 있음.
- 이로 인해 파이썬의 리스트는 배열과 연결 리스트를 합친 듯한 기능을 가짐.
- 리스트는 제각기 다양한 타입을 동시에 관리할 수 있어 이들은 연속된 메모리 공간에 할당되어 있지 않음.
- 각각의 객체에 대해서 참조로 구현되어 있을 뿐.