줄리아의 네임드 튜플

줄리아의 네임드 튜플

Named Tuple in julia

개요

네임드 튜플Named Tuple은 일반적인 튜플과 달리 딕셔너리나 구조체Structure처럼 사용할 수 있는 튜플이다. 1 심볼Symbol의 배열을 키Key로 가지고 키로써 밸류Value에 접근할 수 있으면서도 튜플처럼 사용할 수 있다.

코드

x = rand(Bool, 5); y = rand(Bool, 5);

z = (; x, y)
typeof(z)

z.x

위의 코드를 실행해서 네임드 튜플을 어떻게 사용하는지 확인해보자.

julia> z = (; x, y)
(x = Bool[0, 0, 1, 1, 0], y = Bool[1, 1, 0, 0, 0])

julia> typeof(z)
NamedTuple{(:x, :y), Tuple{Vector{Bool}, Vector{Bool}}}

네임드 튜플을 쉽게 만드는 방법은 위와 같이 튜플을 만들되 왼쪽 괄호 바로 뒤에 세미콜론 ;을 찍는 것이다. 예로써 (; x)(; x=x)과 같다. 2

julia> z.x
5-element Vector{Bool}:
 0
 0
 1
 1
 0

julia> z[2]
5-element Vector{Bool}:
 1
 1
 0
 0
 0

네임드 튜플은 위와 같이 네임의 심볼로도 접근할 수 있고, 인덱스로도 접근할 수 있다.

환경

  • OS: Windows
  • julia: v1.6.3

  1. https://docs.julialang.org/en/v1/manual/types/#Named-Tuple-Types ↩︎

  2. https://discourse.julialang.org/t/how-about-new-feature-of-auto-symbol-of-dataframe/72271/3 ↩︎

댓글