일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준 알고리즘
- shrinkmatch paper
- remixmatch paper
- conjugate pseudo label paper
- 최린컴퓨터구조
- semi supervised learnin 가정
- mocov3
- tent paper
- cifar100-c
- SSL
- mme paper
- 딥러닝손실함수
- Entropy Minimization
- GAN
- dann paper
- adamatch paper
- simclrv2
- 컴퓨터구조
- BYOL
- Meta Pseudo Labels
- shrinkmatch
- CoMatch
- UnderstandingDeepLearning
- CGAN
- Pix2Pix
- WGAN
- dcgan
- Pseudo Label
- CycleGAN
- ConMatch
Archives
- Today
- Total
Hello Computer Vision
[python] 튜플을 사용하는 이유 본문
이번에 교양으로 python 과목을 들었는데, 기초적인 자료구조에 대한 설명을 보았다.
물론 그 중에서도 잘 사용하지 않는 Dict, 튜플, set 등이 있었다.
그러다 갑자기쓰임새가 비슷할 거 같은 튜플과 리스트 중에 리스트가 더 편한데 왜 튜플을 사용하는지 궁금했다. 튜플의 가장 큰 불편한 점이라고 하면 리스트처럼 데이터를 추가할 수도, 변경할 수도 없다.
첫번째. 동적 배열
당연하지만 메모리 측면에서 튜플이 훨씬 유리하다고 한다. 그 중 리스트는 동적으로 크기를 늘릴 수 있는데 이러한 과정에서 메모리 크기는 더블링 된다. 따라서 배열에 추가로 데이터를 추가하는 동적 배열을 하게 될 경우 더 많은 메모리를 사용하게 된다.
두번째. 불변객체
튜플은 데이터를 변경할 수 없는 불변개체이며 리스트는 안의 데이터를 변경하더라도 주소값이 같은 가변객체이다. 근데 당연히 불변객체가 메모리 효율이 좋을줄 알았는데 그 반대이다. 왜냐하면 불변개체는 새로운 object를 생성하면 주소가 변경되기 때문에 메모리 누수 가능성이 있다고 한다. 물론 장점도 있겠지만 불변개체라서 메모리 효율은 좋지 않다.
++2024.1.27 추가
튜플 값에 1개만 넣을 때는 ({원소}, ) 이렇게 콤마를 찍어줘야한다.
참고
'딥러닝 > 파이썬' 카테고리의 다른 글
파이썬 copy, deepcopy 쓰는 이유 및 사용해보기 (0) | 2024.01.17 |
---|---|
[python] logging.getLogger(__name__) 선언 이유 (0) | 2023.12.24 |
파이썬 getattr 알아보기 (0) | 2023.05.05 |
할당과 복사(얕은 복사, 깊은 복사) (0) | 2023.04.01 |
파이선 함수에서의 ->(화살표) , :(콜론) 의 쓰임 (0) | 2023.02.18 |