log.Sehee
[데이터 취업 스쿨 스터디 노트] 자료구조 1 - 5 본문
자료구조
: 컨테이너 자료형의 데이터 구조
컨테이너 자료형 : 여러 개의 데이터가 묶여있는 자료형
자료구조는 각각의 컨테이너 자료형에 따라서 차이가 있으며
파이썬의 대표적인 자료형은 리스트(List), 튜플(Tuple), 딕셔너리(Dic), 세트(Set)가 있다.
리스트(List)
: 배열과 같이 여러 개의 데이터를 나열한 자료구조
[]를 이용해서 선언하고, 데이터 구분은 ','를 사용한다.
숫자, 문자열, 논리형 등 모든 기본 데이터를 같이 저장할 수 있으며 리스트에 컨테이너 자료형 데이터를 저장할 수 있다.
len()으로 리스트의 길이를 구할 수 있으며, 리스트 길이란 리스트에 저장된 아이템 개수를 뜻한다.
인덱스(Index)
: 아이템에 자동으로 부여되는 번호표
리스트 아이템은 인덱스를 이용해서 조회 가능하다.
enumerate()
: enumerate()를 사용하면 리스트의 index와 value를 함께 조회할 수 있다.
str = ['a', 'b', 'c']
for i, v in enumerate(str):
print(f'index: {i}, value: {v}')
# index: 0, value: a
# index: 1, value: b
# index: 2, value: c
append(), insert()
: append() 함수를 사용하면 리스트의 마지막 인덱스에 아이템을 추가할 수 있다.
: insert() 함수를 사용하면 리스트의 지정 인덱스 위치에 아이템을 추가할 수 있다.
# append()
str = ['a', 'b', 'c']
str.append('d')
print(str) # ['a', 'b', 'c', 'd']
# insert()
str = ['a', 'b', 'c']
str.insert(2, 'd')
print(str) # ['a', 'b', 'd', 'c']
pop(), remove(), del()
: pop()을 사용하면 리스트의 마지막 인덱스에 위치한 아이템을 삭제할 수 있다.
: remove()를 사용하면 리스트의 지정 인덱스 위치에 있는 아이템을 삭제할 수 있다.
: del() 키워드를 사용하면 지정 아이템을 삭제할 수 있다.
# pop()
str = ['a', 'b', 'c']
str.pop()
print(str) # ['a', 'b']
# remove()
str = ['a', 'b', 'c']
str.remove('a')
print(str) # ['b', 'c']
# del()
str = ['a', 'b', 'c']
del str[0]
print(str) # ['b', 'c']
리스트 연결 / 확장
: 덧셈 연산자를 사용해 리스트를 연결할 수 있으며 곱셈 연산자를 사용해 리스트의 아이템을 반복시킬 수 있다.
str = ['a', 'b', 'c']
str2 = ['d', 'e']
result = str + str2
print(result) # ['a', 'b', 'c', 'd', 'e']
print(result * 2) # ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
sort(), sorted()
: sort()와 sorted()는 둘 다 리스트를 정렬해준다.
sort : 리스트 객체의 메소드. 원본 리스트를 직접 정렬하며 None을 반환한다.
sorted : 내장 함수. 원본 리스트를 정렬하지 않고 정렬된 리스트를 반환한다.
str = ['b', 'c', 'a']
str.sort()
print(str) # ['a', 'b', 'c']
str = ['b', 'c', 'a']
result = sorted(str)
print(str, result) # ['b', 'c', 'a'] ['a', 'b', 'c']
reverse()
: reverse() 함수를 사용하면 아이템 순서를 뒤집을 수 있다.
str = ['a', 'b', 'c']
str.reverse()
print(str) # ['c', 'b', 'a']
리스트 슬라이싱
: [n:m]을 사용하여 리스트에서 원하는 아이템만 뽑아낼 수 있다.
str = ['a', 'b', 'c', 'd', 'e']
print(str[:2]) # ['a', 'b']
print(str[2:]) # ['c', 'd', 'e']
print(str[3:5]) # ['d', 'e']
index()
: index() 함수를 사용하면 아이템의 인덱스를 알아낼 수 있다.
str = ['a', 'b', 'c']
print(str.index('a')) # 0
count()
: count() 함수를 사용하면 특정 아이템의 갯수를 알아낼 수 있다.
str = ['a', 'a', 'b', 'c']
print(str.count('a')) # 2
내일의 학습 목표
자료구조 5 - 9