Tuples

Julia intermédiaire

Anthony Markham

Quantitative Developer

Tuples - introduction

  • Une collection ordonnée et immuable de valeurs.
  • Peut contenir des valeurs de tout type de données.
  • Indexation entière, comme pour les vecteurs.
Julia intermédiaire

Tuples - pourquoi ?

Avantages

  • Votre code est plus sûr si vous utilisez des tuples pour des données à protéger.
  • Plus rapides que les vecteurs et utilisent moins de mémoire.

Inconvénients

  • Impossible de trier les tuples.
  • Impossible d'ajouter, de supprimer ou de modifier des valeurs.
Julia intermédiaire

Tuples - syntaxe

  • Définissez un tuple avec des parenthèses et une virgule entre chaque valeur.
my_tuple = (10, 20, 30, 40)
  • Un tuple peut contenir plusieurs types de données.
my_mixed_tuple = (10, "Hello", 30, true)
Julia intermédiaire

Tuples - indexation

  • Les tuples sont indexés avec des entiers (comme les vecteurs).
my_tuple = (10, 20, 30, 40)
println(my_tuple[1])
10
println(my_tuple[2:3])
(20, 30)
Julia intermédiaire

Tuples - immuabilité

  • On ne peut pas ajouter ni retirer de valeurs d'un tuple après sa création.
  • On ne peut pas modifier les valeurs d'un tuple.
my_tuple = (10, 20, 30, 40, 50)
append!(my_tuple, 60)
MethodError: no method matching append!(::NTuple{5, Int64}, ::Int64)
my_tuple = (10, 20, 30, 40, 50)
my_tuple[1] = 15
MethodError: no method matching setindex!(::NTuple{5, Int64}, ::Int64, ::Int64)
Julia intermédiaire

Tuples - immuabilité

  • Un tuple retient le nombre d'éléments qu'il contient, car cela ne change pas.
  • Cela se reflète dans le type de la variable.
my_vector = [10, 20, 30, 40, 50]
my_tuple = (10, 20, 30, 40, 50)

println(typeof(my_vector))
println(typeof(my_tuple))
Vector{Int64}
NTuple{5, Int64}
Julia intermédiaire

Tuples - NamedTuple

  • Un NamedTuple est un tuple dont les éléments peuvent aussi être accédés par un nom attribué à la valeur.
  • Chaque valeur d'un NamedTuple est représentée par un nom unique.
  • Les NamedTuples ont la même immuabilité que les tuples.
my_named_tuple = (name="Anthony", country="Australia", city="Sydney")
println(my_named_tuple[1])
println(my_named_tuple.name)
Anthony
Anthony
Julia intermédiaire

Passons à la pratique !

Julia intermédiaire

Preparing Video For Download...