Menu
Coddy logo textTech

Liste con nomi

Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 74 di 78.

Proprio come i vettori con nome, anche gli elementi delle liste possono avere dei nomi. Questo rende il codice più leggibile e ti permette di accedere agli elementi tramite etichette significative invece che tramite posizioni numeriche.

Puoi assegnare dei nomi quando crei la lista:

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

Output:

$name
[1] "Alice"

$age
[1] 25

$active
[1] TRUE

Nota che ora l’output mostra $name invece di [[1]]. Per accedere agli elementi con nome, usa l’operatore $:

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

Output:

[1] 25

Puoi anche usare le doppie parentesi quadre con il nome come stringa, il che è utile quando il nome è memorizzato in una variabile:

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

Output:

[1] "Alice"

Modificare gli elementi con nome funziona allo stesso modo. Usa $ per modificare i valori esistenti o aggiungerne di nuovi:

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

Output:

$name
[1] "Alice"

$age
[1] 26

$city
[1] "Paris"
challenge icon

Sfida

Facile

Riceverai tre righe di input:

  1. Il titolo di un libro (ad es., The Great Gatsby)
  2. L’autore di un libro (ad es., F. Scott Fitzgerald)
  3. L’anno di pubblicazione (ad es., 1925)

Esegui le seguenti operazioni:

  1. Crea una lista con nome book con tre elementi: title, author e year (converti year in numerico)
  2. Stampa il titolo del libro usando l’operatore $
  3. Stampa l’anno del libro usando le doppie parentesi quadre con il nome come stringa
  4. Aggiorna year aggiungendo 1 anno usando l’operatore $
  5. Aggiungi un nuovo elemento chiamato available con il valore TRUE
  6. Stampa la lista aggiornata completa

Ad esempio, se gli input sono:

1984
George Orwell
1949

L’output dovrebbe essere:

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

$author
[1] "George Orwell"

$year
[1] 1950

$available
[1] TRUE

Spiegazione:

  • book$title stampa il valore del titolo
  • book[["year"]] stampa l’anno originale
  • L’anno viene aggiornato da 1949 a 1950
  • Viene aggiunto un nuovo elemento available con valore TRUE

Provalo tu

# Leggi l'input
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: Scrivi il tuo codice qui sotto
# 1. Crea una lista con nomi chiamata 'book' con gli elementi: title, author e year (converti year in un valore numerico)
# 2. Stampa il titolo del libro usando l'operatore $
# 3. Stampa l'anno del libro usando le doppie parentesi quadre con il nome come stringa
# 4. Aggiorna year aggiungendo 1 anno usando l'operatore $
# 5. Aggiungi un nuovo elemento chiamato 'available' con valore TRUE
# 6. Stampa la lista aggiornata completa
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore R online