관리 메뉴

log.Sehee

[데이터 취업 스쿨 스터디 노트] 자료구조 1 - 5 본문

Zerobase DS School

[데이터 취업 스쿨 스터디 노트] 자료구조 1 - 5

Sehe_e 2024. 7. 17. 21:13

 


 

자료구조

: 컨테이너 자료형의 데이터 구조

컨테이너 자료형 : 여러 개의 데이터가 묶여있는 자료형

 

자료구조는 각각의 컨테이너 자료형에 따라서 차이가 있으며

파이썬의 대표적인 자료형은 리스트(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

 

 

Comments