[Python] namedtuple

qw4735·2022년 12월 31일
0

Python

목록 보기
6/10
post-custom-banner

namedtuple

  • 인덱스로 요소를 접근하는 튜플보다 name으로 직관적으러 접근 가능
  • 변경 불가능한 자료형으로, 요소를 변경하지 않을 경우 사전보다 성능에 이점이 있다.

< namedtuple >

import collections
Score = collections.namedtuple('Score', 'english math music')
Student1 = Score(english=90, math=80, music=85)
print(Student1.english)   #90 # name과 index 둘다 접근이 가능
print(Student1[0])  #90

< dictionary >

Score = {'english':90, 'math':80, 'music':85}
print(Score['english'])  #90

namedtuple 선언하기

namedtuple을 선언하는 방식으로, 공식 문서에는 네 가지 방식을 제안한다.

from collections import namedtuple
#list로 각각의 key 할당하기
Score1 = namedtuple('Score', ['english', 'math', 'music'])
#문자열 안의 comma 구분자로 각각의 key 할당하기
Score2 = namedtuple('Score', 'english, math, music')
#문자열 안의 띄어쓰기 구분자로 각가의 key 할당하기
Score3 = namedtuple('Score', 'english math music')
#문자열 안에 중복이 존재할 경우 rename메서드로 자체적인 key 할당하기
Score4 = namedtuple('Score', 'x y x class', rename=True)

reference : https://statistics-and-data.tistory.com/entry/collections-Python-namedtuple-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
https://pydole.tistory.com/entry/Python-collections-namedtuple-%EC%9D%B4%EB%A6%84%EC%9D%84-%EA%B0%80%EC%A7%84-%ED%8A%9C%ED%94%8C

post-custom-banner

0개의 댓글