Menu
Coddy logo textTech

Listes nommées

Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 74 sur 78.

Tout comme les vecteurs nommés, les listes peuvent avoir des noms attribués à leurs éléments. Cela rend votre code plus lisible et vous permet d'accéder aux éléments par des étiquettes significatives au lieu de positions numériques.

Vous pouvez attribuer des noms lors de la création de la liste :

person <- list(name = "Alice", age = 25, active = TRUE)
print(person)

Sortie :

$name
[1] "Alice"

$age
[1] 25

$active
[1] TRUE

Remarquez comment la sortie affiche maintenant $name au lieu de [[1]]. Pour accéder aux éléments nommés, utilisez l'opérateur $ :

person <- list(name = "Alice", age = 25, active = TRUE)
print(person$age)

Sortie :

[1] 25

Vous pouvez également utiliser des doubles crochets avec le nom sous forme de chaîne de caractères, ce qui est utile lorsque le nom est stocké dans une variable :

person <- list(name = "Alice", age = 25)
print(person[["name"]])

Sortie :

[1] "Alice"

Modifier des éléments nommés fonctionne de la même manière. Utilisez $ pour modifier des valeurs existantes ou en ajouter de nouvelles :

person <- list(name = "Alice", age = 25)
person$age <- 26
person$city <- "Paris"
print(person)

Sortie :

$name
[1] "Alice"

$age
[1] 26

$city
[1] "Paris"
challenge icon

Défi

Facile

Vous recevrez trois lignes d'entrée :

  1. Un titre de livre (par exemple, The Great Gatsby)
  2. Un auteur de livre (par exemple, F. Scott Fitzgerald)
  3. L'année de publication (par exemple, 1925)

Effectuez les opérations suivantes :

  1. Créez une liste nommée appelée book avec trois éléments : title, author, et year (convertissez l'année en numérique)
  2. Affichez le titre du livre en utilisant l'opérateur $
  3. Affichez l'année du livre en utilisant des doubles crochets avec le nom sous forme de chaîne de caractères
  4. Mettez à jour year pour qu'elle soit 1 an plus tard en utilisant l'opérateur $
  5. Ajoutez un nouvel élément appelé available avec la valeur TRUE
  6. Affichez la liste complète mise à jour

Par exemple, si les entrées sont :

1984
George Orwell
1949

La sortie devrait être :

[1] "1984"
[1] 1949
$title
[1] "1984"

$author
[1] "George Orwell"

$year
[1] 1950

$available
[1] TRUE

Explication :

  • book$title affiche la valeur du titre
  • book[["year"]] affiche l'année d'origine
  • L'année est mise à jour de 1949 à 1950
  • Un nouvel élément available est ajouté avec la valeur TRUE

Aide-mémoire

Les listes peuvent avoir des noms attribués à leurs éléments pour une meilleure lisibilité et un accès par des étiquettes significatives.

Créez une liste nommée en attribuant des noms lors de la création :

person <- list(name = "Alice", age = 25, active = TRUE)

Accédez aux éléments nommés en utilisant l'opérateur $ :

person$age  # Retourne 25

Accédez aux éléments nommés en utilisant des doubles crochets avec le nom sous forme de chaîne de caractères :

person[["name"]]  # Retourne "Alice"

Modifiez des éléments nommés existants :

person$age <- 26

Ajoutez de nouveaux éléments nommés :

person$city <- "Paris"

Essayez vous-même

# Lire l'entrée
con <- file("stdin", "r")
title <- suppressWarnings(readLines(con, n = 1))
author <- suppressWarnings(readLines(con, n = 1))
year <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Écrivez votre code ci-dessous
# 1. Créer une liste nommée 'book' avec les éléments : title, author, et year (convertir year en numérique)
# 2. Afficher le titre du livre en utilisant l'opérateur $
# 3. Afficher l'année du livre en utilisant des doubles crochets avec le nom comme chaîne de caractères
# 4. Mettre à jour l'année pour qu'elle soit 1 an plus tard en utilisant l'opérateur $
# 5. Ajouter un nouvel élément appelé 'available' avec la valeur TRUE
# 6. Afficher la liste complète mise à jour
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux