대왕판다
ESTP 하고재비로 살아가기
대왕판다
전체 방문자
오늘
어제
  • 분류 전체보기
    • 일상
      • 먹고재비
      • 생각대로
    • 개발
      • html css
      • 자바
      • 자바스크립트
      • 파이썬
      • 알고리즘
      • 북TIL
      • 네트워크
      • 객체지향개발

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 브루트포스
  • 맛집
  • html
  • 코딩
  • 마이바티스
  • 챌린지
  • 노개북
  • 양산
  • 클론코딩
  • 파이썬
  • 양산맛집
  • css
  • 노마드코더
  • 백준
  • 자바
  • 알고리즘
  • 상길북
  • 타입스크립트
  • 리액트
  • 자바스크립트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
대왕판다

ESTP 하고재비로 살아가기

개발/북TIL

파이썬 알고리즘 인터뷰 5장 리스트, 딕셔너리

2022. 7. 20. 14:55

오늘 TIL 3줄 요약

  • 파이썬의 자료형은 모두 객체

  • 다양한 모듈들, 특히 딕셔너리와 관련된 특수 형태의 컨테이너 자료형들을 활용하자

  • defaultdict, Counter, OrderedDict



     

TIL (Today I Learned) 날짜

  • 2022.07.20. WED


     

오늘 읽은 범위

  • 파이썬 알고리즘 인터뷰 5장 리스트, 딕셔너리


책에서 기억하고 싶은 내용을 써보세요.

  • 파이썬은 모든 것이 객체다.리스트 또한 객체에 대한 포인터목록을 관리하는 형태로 구현되어 있다.

    // CPython 에서 리스트는 요소에 대한 포인터목록을 갖고 있는 구조체로 선언되어 있다.
    typeof struct {
        PyObject_VAR_HEAD
        PyObject **ob_item;
        // 포인트 목록으로 사이즈를 조절하는 형태로 리스트요소 추가가 구현된다.
        Py_ssize_t allocated;
    }  pyListObject;
    
  • 이로인해 파이썬의 리스트는 배열과 연결 리스트를 합친듯한 강력한 기능을 제공할 수 있다.(그 과정에서 속도는 희생된다)

  • 파이썬의 딕셔너리는 숫자, 문자, 집합까지 불변 객체를 모두 키로 사용한다. 이 과정을 해싱이라고 하며, 해시 테이블을 이용해 자료를 저장한다. 입력과 조회는 O(1)에 가능하다.(최악의 경우에는 O(n))

  • 3.7버전부터는 Dict의 입력순서가 유지되나, 3.6이하에서는 collections.OrderedDict()라는 별도 자료형을 이용해야 유지된다.



오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 당연하지만 다양한 내장 모듈들을 이해하고 문제풀이에 적용하는 것이 중요할듯..

     

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • CPython?

    • 파이썬 프로그래밍언어의 참조 구현체. 내부가 C 언어로 구현된 파이썬이며 코드는 여기에서 확인가능.
    • 이름에서 추측할 수 있듯 CPython 외에도 JVM에서 실행할 수 있는 Jython도 있으며 python으로 구현한 pypy도 있다고한다.

 

'개발 > 북TIL' 카테고리의 다른 글

파이썬 알고리즘 인터뷰 9, 10, 11장 - 스택, 큐, 데크, 우선순위 큐, 해시 테이블  (0) 2022.11.07
[북TIL] 파이썬알고리즘인터뷰 6. 문자열 조작  (0) 2022.07.27
[북TIL] 파이썬 알고리즘 인터뷰 1~3장  (0) 2022.07.14
[북TIL] 실용주의 프로그래머 4. 실용주의 편집증  (0) 2022.05.20
[북TIL] 실용주의 프로그래머 3. 기본도구  (0) 2022.05.18
    '개발/북TIL' 카테고리의 다른 글
    • 파이썬 알고리즘 인터뷰 9, 10, 11장 - 스택, 큐, 데크, 우선순위 큐, 해시 테이블
    • [북TIL] 파이썬알고리즘인터뷰 6. 문자열 조작
    • [북TIL] 파이썬 알고리즘 인터뷰 1~3장
    • [북TIL] 실용주의 프로그래머 4. 실용주의 편집증
    대왕판다
    대왕판다
    let's learn and roll!

    티스토리툴바