logo

줄리아의 네임드 튜플 📂줄리아

줄리아의 네임드 튜플

개요

네임드 튜플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