이번 시간에는 파이썬에서 사용되는 자료 구조 형태에 대해 알아보도록 하겠습니다.
우선 자료 구조에 대해 간략하게 설명하면 여러 데이터를 효과적으로 다룰 수 있는 구조를 의미하며, 데이터가 여러 개일 경우에는 자료 구조를 사용하여 데이터를 관리하는 것이 좋습니다.
한마디로 자료 구조란 여러 데이터를 담을 수 있는 "장바구니"와 같다고 볼 수 있습니다.
이러한 자료 구조에는 여러 형태가 있는데 그중 파이썬에서 사용되는 자료 구조인 리스트 자료 구조에 대해 알아보도록 하겠습니다.
리스트(List)
- 순서가 있고 수정이 가능한 자료구조
- 대괄호([ ])를 사용하여 리스트에 넣고 싶은 값을 작성한다.
- 값이 여러 개인 경우 쉼표를 사용하여 값을 구분한다.
site = ['네이버', '구글', '다음', '야후']
리스트 선언(생성)하기
리스트를 선언할 때에는 아래와 같이 대괄호를 사용하여 리스트 형태의 변수를 선언하거나 list() 함수를 사용하여 리스트를 선언한다.
공식 문서에서는 list() 함수를 사용하는 것을 권장하는 것으로 보여지나, 대괄호를 사용하여 리스트를 선언하여도 문제없는 것으로 보여진다.
variable = []
variable = list()
리스트 인덱싱 : 필요한 것만 추출하기
리스트는 모든 항목이 자신의 위치를 숫자로 가지고 있어(순서가 있다는 것) 그 위치를 기반으로 어떤 항목이는 추출하여 사용할 수 있다.
site = ['네이버', '구글', '다음', '야후']
print(site[0]) # site라는 변수의 0번을 출력하는 것으로 '네이버'가 출력된다.
print(site[3]) # site라는 변수의 3번을 출력하는 것으로 '야후'가 출력된다.
print(site[4]) # site라는 변수의 4번이 출력되는 것이나 4번의 값이 없기 때문에 Error가 발생
리스트 슬라이싱 : 필요한 것들을 추출하기
리스트 슬라이싱은 케이크를 자르듯이 리스트의 조각들을 얻을 수 있도록 해주는 기능이다.
슬라이싱을 할 때 시작 지점과 끝 지점을 지정하여 리스트의 조각들을 추출할 수 있다.
site = ['네이버', '구글', '다음', '야후']
print(site[0:3]) # "네이버, 구글, 다음" 이라는 조각을 추출할 수 있다.
print(site[1:3]) # "구글, 다음" 이라는 조각을 추출할 수 있다.
리스트 수정하기
리스트[인덱스 번호] = 수정할 데이터 를 입력하여 리스트를 쉽게 변경할 수 있다.
site[2] = '바이두' # '다음' -> '바이두' 변경
또는 슬라이싱 형태를 사용하여 아래와 같이 여러 리스트 값을 변경할 수 있다.
site[0:2] = ['바이두', '빙']
# ['네이버', '구글', '다음', '야후'] -> ['바이두', '빙', '다음', '야후'] 로 변경
리스트 항목 추가
append(데이터) 함수
현재 생성된 리스트의 마지막에 작성한 데이터가 추가되는 함수
bucket_list = []
bucket_list.append("Python Programming") # bucket_list 이라는 리스트 끝에 "Python Programming" 을 추가
리스트 항목 삽입
insert(인덱스, 값)
현재 존재하는 리스트의 원하는 위치에 값을 삽입하는 함수
bucket_list = ['Python Programming', 'Travel', 'rich']
bucket_list.insert(2, 'Obtain certification')
# bucket_list 에 리스트가 ['Python Programming', 'Travel', 'Obtain certification', 'rich'] 로 변경됨
리스트 항목 삭제
del 리스트[인덱스]
특정 인덱스에 있는 값을 삭제하는 함수
location = ['Seoul', 'Gyeonggi', 'Daegu']
del location[2] # 'Daegu' 가 제거됨
변수.remove('데이터')
특정 인덱스에 있는 값을 삭제하는 함수
location = ['Seoul', 'Gyeonggi', 'Daegu']
location.remove('Seoul') # 리스트 내 'Seoul' 가 삭제됨
※ 이후 추가 예정
'Programming > Python' 카테고리의 다른 글
[Python] 파이썬 For 문을 사용한 반복문 및 제어문 익히기(for, break, continue, pass) (0) | 2024.04.27 |
---|---|
[Python] 파이썬 조건문 익히기(if-elif-else) (0) | 2024.04.27 |
[Python] 파이썬에서 사용되는 자료 구조(딕셔너리/사전) (0) | 2024.04.23 |
[Python] 파이썬에서 사용되는 자료 구조(튜플) (0) | 2024.04.23 |
[Python] 문자열 관련 메소드 정리 (1) | 2024.04.03 |