본문 바로가기

데이터분석캠프 TIL

241209 TIL 파이썬 (리스트, 튜플, 딕셔너리)

1. 개요

딕셔너리: 사전 같은 구조

리스트와 튜플은 결과를 변경가능 한지 아닌지의 차이다. 

 

 

데이터 분석을 할 때 다양하고 많은 데이터들을 다루어야 하는데 이런 데이터들을 구조화하고 조작하기 위해 리스트, 튜플, 딕셔너리는 반드시 필요하다. 

 

❗이점

데이터를 담고, 정리하고, 꺼낼 때 필요하다. 

 

설명

딥러닝 모델을 반복 학습하며 결과를 리스트에 추가

데이터 불러올때, 경로 처리할때 split 사용

데이터를 임의의 범위만큼 선택할때 슬라이싱, 인덱싱 사용 데이터를 변경 불가능하게 사용하고 싶을 때

데이터를 담는 하나의 방법

 

목적

주로 맨 처음 데이터를 불러오고 가공할 때 사용

결과를 저장할 때 많이 사용

 

결과물

 

기대효과

데이터를 자유자재로 다룰 수 있고 정리할 수 있다

 

 

2. 리스트(List)?

  • 리스트는 파이썬에서 가장 자주 사용되는 데이터 구조 중 하나. 여러 항목들을 담을 수 있는 가변(mutable)한 시퀀스(sequence)이다. 
  • 대괄호 [ ]를 사용하여 리스트를 만들 수 있다. 

 

Index를 붙이면 원하는 값을 불러올 수 있다. 

단, 0부터 숫자가 시작되고, 마이너스(-)를 붙이면 역순으로 불러온다. 뒤에서 첫 번째는 -1이다. 

 

(1) 리스트의 메서드

  • append(): 리스트에 항목을 추가합니다. -> 가장 많이 사용함 
  • extend(): 리스트에 다른 리스트의 모든 항목을 추가합니다.
  • insert(): 리스트의 특정 위치에 항목을 삽입합니다.
  • remove(): 리스트에서 특정 값을 삭제합니다.
  • pop(): 리스트에서 특정 위치의 값을 제거하고 반환합니다.
  • index(): 리스트에서 특정 값의 인덱스를 찾습니다.
  • count(): 리스트에서 특정 값의 개수를 세어줍니다.
  • sort(): 리스트의 항목들을 정렬합니다.
  • reverse(): 리스트의 항목들을 역순으로 뒤집습니다.
    • 참고!) ‘반환’은 함수의 결과 값을 밖으로 끄집어 낸다라는 것을 의미한다. 여기서는 ‘결과 값을 얻어냈다’ 로 이해하면 됨. 
# 리스트 생성
my_list = [1, 2, 3, 4, 5]

#리스트의 다양한 메서드(Methods)
my_list.append(6) # 리스트에 새로운 항목 추가
print(my_list)  # 출력: [1, 2, 3, 4, 5, 6]

my_list.extend([7, 8, 9]) # 다른 리스트의 모든 항목을 추가
print(my_list)  # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9]

my_list.insert(2, 10) # 두 번째 위치에 값 삽입
print(my_list)  # 출력: [1, 2, 10, 3, 4, 5, 6, 7, 8, 9]

my_list.remove(3) # 값 3 삭제
print(my_list)  # 출력: [1, 2, 10, 4, 5, 6, 7, 8, 9]

popped_value = my_list.pop(5) # 다섯 번째 위치의 값 제거하고 반환
print(popped_value)  # 출력: 6
print(my_list)  # 출력: [1, 2, 10, 4, 5, 7, 8, 9]

print(my_list.index(4)) # 출력: 3 (값 4의 인덱스)

print(my_list.count(7)) # 출력: 1 (값 7의 개수)

my_list.sort() # 리스트 정렬
print(my_list)  # 출력: [1, 2, 4, 5, 7, 8, 9, 10]

my_list.reverse() # 리스트 역순으로 뒤집기
print(my_list)  # 출력: [10, 9, 8, 7, 5, 4, 2, 1]

 

 

인덱스와 count는 값이 몇 개인가와 몇 번째 인가만 알려준다. 

 

pop은 제거하고 담아주지만, del은 제거만 해준다. 

 

 

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 1. 일부분만 추출하기
print(my_list[2:5])   # 출력: [3, 4, 5]

# 2. 시작 인덱스 생략하기 (처음부터 추출)
print(my_list[:5])    # 출력: [1, 2, 3, 4, 5]

# 3. 끝 인덱스 생략하기 (끝까지 추출)
print(my_list[5:])    # 출력: [6, 7, 8, 9, 10]

# 4. 음수 인덱스 사용하기 (뒤에서부터 추출)
print(my_list[-3:])   # 출력: [8, 9, 10]

# 5. 간격 설정하기 (특정 간격으로 추출)
print(my_list[1:9:2]) # 출력: [2, 4, 6, 8]

# 6. 리스트 전체를 복사하기
copy_of_list = my_list[:]
print(copy_of_list)   # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 7. 리스트를 거꾸로 뒤집기
reversed_list = my_list[::-1]
print(reversed_list)  # 출력: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

 

리스트 심화는 다시 한 번 정리가 필요함. 

 

2. 튜플: 변경할 수 없는 시퀀스 자료형, 여러 개의 요소를 저장하는 컨테이너이다. 

  • 그런데 리스트와 유사하지만, 한 번 생성된 이후에는 요소를 추가, 삭제, 수정할 수 없다. 
  • 파이썬에서 주로 데이터를 보호하고 싶을 때 주로 사용한다. 
  • 튜플은 소괄호 ()를 사용하여 생성하며, 각 요소는 쉼표 , 로 구분된다. 

 

3. 딕셔너리

  • 파이썬 딕셔너리는 키-값 쌍의 데이터를 저장하는 자료구조로, 중괄호 {}로 둘러싸여 있으며 각 요소는 쉼표로 구분된다. 
  • 각 키는 유일해야 하지만 값은 중복될 수 있다. 파이썬 딕셔너리는 해시 테이블로 구현되어 있어 키를 사용하여 매우 빠르게 값을 찾을 수 있다. 
my_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3'
}

 

 

어떤 값을 가져오고 싶을 때, 편하게 키를 활용해서 가져올 수 있다. 

데이터를 쉽게 다룰 수 있다. 

딕셔너리는 표를 만들 때 매우 편리하고, 판다스랑 연결하면 유용하다.