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] TRUENota 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] 25Puoi 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"Sfida
FacileRiceverai tre righe di input:
- Il titolo di un libro (ad es.,
The Great Gatsby) - L’autore di un libro (ad es.,
F. Scott Fitzgerald) - L’anno di pubblicazione (ad es.,
1925)
Esegui le seguenti operazioni:
- Crea una lista con nome
bookcon tre elementi:title,authoreyear(converti year in numerico) - Stampa il titolo del libro usando l’operatore
$ - Stampa l’anno del libro usando le doppie parentesi quadre con il nome come stringa
- Aggiorna
yearaggiungendo 1 anno usando l’operatore$ - Aggiungi un nuovo elemento chiamato
availablecon il valoreTRUE - Stampa la lista aggiornata completa
Ad esempio, se gli input sono:
1984
George Orwell
1949L’output dovrebbe essere:
[1] "1984"
[1] 1949
$title
[1] "1984"
$author
[1] "George Orwell"
$year
[1] 1950
$available
[1] TRUESpiegazione:
book$titlestampa il valore del titolobook[["year"]]stampa l’anno originale- L’anno viene aggiornato da 1949 a 1950
- Viene aggiunto un nuovo elemento
availablecon valoreTRUE
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 completaQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici (AND, OR)Operatori logici Parte 2 (NOT)Ripasso - Logica sempliceLogica vettorializzata Parte 1Logica vettorializzata Parte 27Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dell'utente10FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz13Vettori: argomenti avanzati
Slicing e indicizzazione dei vettoriIndicizzazione logicaAritmetica dei vettori e ricicloL’operatore %in%2Variabili e tipi di dati
Tipo di dato numericoTipo di dato interoTipo di dato carattereTipo di dato logicoControllo dei tipi di datoConvenzioni di denominazioneValori mancanti: NARiepilogo - Creazione di variabili8Cicli
Ciclo forCiclo whilebreaknext (continue)Riepilogo - FattorialeGenerazione di sequenze (seq, :)Cicli annidatiRiepilogo - Input dinamico11Vettori
Creare vettori con c()Accedere agli elementi dei vettoriModificare i vettoriOperazioni sui vettoriRipasso - Vettore dei prezziRipasso - Vettore invertitoVettori con nome14Liste in R
Creare listeAccedere agli elementi di una listaModificare le listeListe con nomiRiepilogo - Lista dei prodotti3Operatori Parte 1
Operatori aritmeticiDivisione intera e moduloOperatori di assegnazioneRiepilogo - Matematica sempliceOperatori di confronto6I/O di base
Stampare l'outputcat per l'outputOutput con variabiliLeggere l'input con readline()Nozioni di base sulla conversione dei tipiRiepilogo - Calcolatore dell'etàRiepilogo - Vero o falso9Funzioni
Dichiarare una funzioneArgomenti della funzioneValori di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti dei parametriEsercitati da solo: Compilatore R online