데이터 취업 스쿨 교육 7회차 내용 정리

Reallee·2023년 9월 22일
0

데이터 취업 스쿨

목록 보기
8/19
post-thumbnail

자료 구조

1. 자료 구조란?

  • 각각의 컨테이너 자료형에 따라서 차이가 있으며, 파이썬의 대표적인 컨테이너 자료형으로는 List(리스트), tuple(튜플), Dic(딕셔너리), Set(세트)이 있다.
  • list는 데이터를 수정할 수 있지만, tuple은 수정할 수 없다.
  • Dic(딕셔너리)는 Key Values로 자료구조가 이루어져 있다.
  • set은 내부에 중복된 데이터가 허용되지 않는다.

2. 리스트란?

  • 배열과 같이 여러 개의 데이터를 나열한 자료구조.
  • 리스트 안에 들어갈 수 있는 것은 숫자, 문자(열), 논리형 등 모든 기본 데이터를 저장 가능.
  • 리스트내 또 다른 컨테이너 자료형 데이터를 저장할 수도 있다.
  • 대괄호([])를 통해 포현되며, 구분은 ,(컴마)를 이용한다.

3. 리스트 아이템 조회

  • 인덱스란, 아이템에 자동으로 부여되는 번호표

4. 리스트의 길이

  • 리스트 길이란, 리스트에 저장된 아이템의 개수를 뜻한다.

5. 리스트와 for문(1)

  • for문을 이용하면 리스트의 아이템을 자동으로 참조할 수 있다.

두번째 for문의 range 대신 입력된 'cars'는 'iterable 객체'로 반복 가능한 객체라면 입력이 가능하다.

  • for문을 이용하면 리스트 내 리스트의 아이템도 자동으로 참조할 수 있다.

6. 리스트와 for문(2)

7. 리스트와 while문(1)

8. 리스트와 while문(2)

9. enumerate() 함수

  • enumerate 함수를 통해 아이템을 열거할 수 있다.

10. 리스트에 아이템 추가

  • append 함수를 이용하면 마지막 인덱스에 아이템을 추가할 수 있다.

11. 리스트 내 특정 위치에 아이템 추가

  • insert() 함수를 이용하면 특정 위치에 아이템을 추가할 수 있다.

12. 리스트 내 아이템 삭제

pop()를 입력하면 마지막 아이템 삭제, ()안에 위치를 입력하면 해당위치의 아이템 삭제

13. 리스트 내 특정 위치에 아이템 삭제

  • remove() 함수를 이용하면 특정 위치에 아이템을 삭제할 수 있다.
  • remove() 함수로는 1개밖에 삭제가 안되며, 2개 이상인 경우 while 문으로 삭제

14. 리스트의 연결

  • extend()함수를 이용해 리스트에 또 다른 리스트를 연결(확장)할 수 있다.
    +(덧셈 연산자)를 이용해 리스트에 또 다른 리스트를 연결(확장)할 수 있다.

15. 리스트 아이템의 정렬(오름차순 or 내림차순)

  • sort() 함수를 이용해 오름차순으로 정렬할 수 있다.
  • sort(reverse=True) 함수를 이용해 내림차순으로 정렬할 수 있다.

16. 리스트 아이템의 순서 뒤집기

  • reverse()를 이용하면 아이템의 순서를 뒤집을 수 있다.

17. 리스트 슬라이싱

  • 슬라이싱 : 리스트에서 원하는 아이템만 추출하는 것
  • [min : max : 간격)으로 사용 가능함.
    • [min <= n < max]
    • 음수로도 사용이 가능하며, 음수인 경우 뒤에서부터 계산
    • 처음과 끝은 생략 가능함.
  • [slice(시작, 끝, 간격)]으로도 사용이 가능함.
    • 처음과 끝은 생략 가능함.


18. 리스트 곱셈 연산, 특정 아이템의 인덱스 서칭

  • 리스트를 곱셈 연산 하면 아이템이 반복된다.

  • index(item) 함수로 item의 인덱스를 알아낼 수 있다.
    - index 함수는 앞쪽의 1개의 아이템만 찾을 수 있다.

19. 특정 아이템의 개수 산출, 불필요 아이템 삭제

  • count()함수를 이용해 특정 아이템의 개수를 알아낼 수 있다.

  • del 키워드를 통해 특정 아이템을 삭제할 수 있다.
    - del 변수명[아이템 위치(n:m으로 범위 삭제도 가능]로 사용

20. 튜플(tuple)

  • 리스트(list)와 비슷하지만 아이템 변경(수정, 삭제 등) 불가
  • 리스트는 대괄호로 아이템을 선언하지만 튜플은 소괄호로 선언
  • 튜플에 또다른 컨테이너 자료형 데이터를 저장할 수 있다.

21. 튜플(tuple) 아이템 조회

  • 튜플도 리스트와 마찬가지로 아이템에 자동으로 부여되는 번호표가 존재
  • 앞쪽부터 0, 1, 2 순으로 인덱스(index)가 부여됨.

22. in 과 not in 키워드

  • in, not in 키워드를 이용하면 아이템의 존재 유/무를 알 수 있다.
  • 문자열에서도 사용 가능함(문자열 내 특정 키워드 있는지 없는지 True/False 로 확인

23. 튜플(tuple) 길이

  • 리스트와 마찬가지로, 튜플에 저장된 아이템의 개수를 튜플 길이라 한다.
  • len 함수를 이용해 튜플 길이를 출력할 수 있다.
  • len()과 반복문을 이용하면 튜플의 아이템 조회가 가능하다.

24. 튜플(tuple) 결합

  • tuple은 수정이 불가하기 때문에 extend함수는 사용 불가하고 덧셈 연산자만 사용 가능

25. 튜플(tuple) 슬라이싱

  • 리스트와 마찬가지로 [n:m]을 이용해 리스트에서 원하는 아이템만 추출 가능
  • 튜플이기 때문에 아이템의 변경은 불가하지만, 리스트에 튜플 아이템으로는 변경 가능

26. 리스트와 튜플의 차이점

  • 튜플은 리스트와 달리 아이템의 추가, 변경, 삭제가 불가하다.
  • 튜플은 선언 시 소괄호 생략이 가능하다.
  • 리스트와 튜플은 자료형 변환이 가능하다.

27. 튜플 정렬

  • 튜플은 수정이 불가하기 때문에 리스트로 변환 후 정렬
  • 리스트로 변환 후 sort() or reverse로 정렬
  • 튜플인 상태에서도 sorted()함수를 이용하면 오름차순으로 정렬 가능.
    - 단, 반환되는 데이터는 리스트 자료형임.

28. 튜플(tuple)과 for문(1)

  • for문을 이용하면 튜플의 아이템을 자동으로 참조할 수 있다.
  • list와 동일

29. 튜플(tuple)과 for문(2)

30. 튜플(tuple)과 while문(1)

31. 튜플(tuple)과 while문(2)

32. 딕셔너리(dictionary)

  • 키(key)와 값(value)를 이용해서 자료를 관리한다.
  • {}를 이용해 선언하고, '키:값' 형태로 아이템을 정의한다.
    - key와 value에는 숫자, 문자(열), 논리형 뿐만 아니라 컨테이너 자료형도 올 수 있다.
    • key에 immutable 값은 올 수 있지만 mutable 값은 올 수 없다.
      • immutable(불변) = int, float, str, tuple
        • mutable(가변) = list, dic

33. 딕셔너리(dictionary) 조회

  • 딕셔너리는 키(key)를 이용해서 값(value)를 조회한다.
  • 존재하지 않는 키를 이용한 조회 시 에러(error)가 발생한다.

  • get(key)를 이용해서 값(value)를 조회할 수 있다.
    - get()은 key가 없어도 에러가 발생하지 않고 :None을 출력한다.

34. 딕셔너리(dictionary) 추가

  • '딕셔너리이름 [키(key)]=값(value)' 형태로 아이템을 추가한다.
  • 추가하려는 키(key)가 이미 있다면 기존 값이 변경된다.

35. 딕셔너리(dictionary) 수정

    1. 딕셔너리(dictionary) 추가에서 언급했듯이 이미 존재하는 key에 값(value)를 추가하는 경우 기존 값이 신규 값으로 변경된다.

36. keys()와 values()

  • keys()는 키만 모아서 반환해주는 함수
  • values()는 값만 모아서 반환해주는 함수
  • items()는 아이템을 모두 반환해주는 함수

37. 딕셔너리(Dictionary) 삭제

-del과 key를 이용한 item 삭제

  • pop() key를 이용한 item 삭제
    - 단 pop은 함수로 value를 반환해줄 수 있다.

38. 딕셔너리(Dictionary)의 유용한 기능

  • in, not in
    - 딕셔너리(dictionary) 내 키(key)의 존재 유/무를 판단

  • 딕셔너리(Dictionary)의 길이(아이템 개수)를 세는 명령어

  • 딕셔너리(Dictionary) 내의 모든 아이템을 삭제

profile
초심자 입니다!

0개의 댓글