Menu
Coddy logo textTech

Listas Nomeadas

Parte da seção Fundamentos do Journey de R da Coddy — lição 74 de 78.

Assim como vetores nomeados, as listas podem ter nomes atribuídos aos seus elementos. Isso torna seu código mais legível e permite que você acesse elementos por rótulos significativos em vez de posições numéricas.

Você pode atribuir nomes ao criar a lista:

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

Saída:

$name
[1] "Alice"

$age
[1] 25

$active
[1] TRUE

Observe como a saída agora mostra $name em vez de [[1]]. Para acessar elementos nomeados, use o operador $:

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

Saída:

[1] 25

Você também pode usar colchetes duplos com o nome como uma string, o que é útil quando o nome está armazenado em uma variável:

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

Saída:

[1] "Alice"

Modificar elementos nomeados funciona da mesma maneira. Use $ para alterar valores existentes ou adicionar novos:

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

Saída:

$name
[1] "Alice"

$age
[1] 26

$city
[1] "Paris"
challenge icon

Desafio

Fácil

Você receberá três linhas de entrada:

  1. Um título de livro (ex: The Great Gatsby)
  2. Um autor de livro (ex: F. Scott Fitzgerald)
  3. O ano de publicação (ex: 1925)

Realize as seguintes operações:

  1. Crie uma lista nomeada chamada book com três elementos: title, author, e year (converta o ano para numérico)
  2. Imprima o título do livro usando o operador $
  3. Imprima o ano do livro usando colchetes duplos com o nome como uma string
  4. Atualize o year para ser 1 ano mais tarde usando o operador $
  5. Adicione um novo elemento chamado available com o valor TRUE
  6. Imprima a lista completa atualizada

Por exemplo, se as entradas forem:

1984
George Orwell
1949

A saída deve ser:

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

$author
[1] "George Orwell"

$year
[1] 1950

$available
[1] TRUE

Explicação:

  • book$title imprime o valor do título
  • book[["year"]] imprime o ano original
  • O ano é atualizado de 1949 para 1950
  • Um novo elemento available é adicionado com o valor TRUE

Folha de consulta

As listas podem ter nomes atribuídos aos seus elementos para melhor legibilidade e acesso por rótulos significativos.

Crie uma lista nomeada atribuindo nomes durante a criação:

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

Acesse elementos nomeados usando o operador $:

person$age  # Retorna 25

Acesse elementos nomeados usando colchetes duplos com o nome como uma string:

person[["name"]]  # Retorna "Alice"

Modifique elementos nomeados existentes:

person$age <- 26

Adicione novos elementos nomeados:

person$city <- "Paris"

Experimente você mesmo

# Ler entrada
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: Escreva seu código abaixo
# 1. Crie uma lista nomeada chamada 'book' com os elementos: title, author e year (converta year para numérico)
# 2. Imprima o título do livro usando o operador $
# 3. Imprima o ano do livro usando colchetes duplos com o nome como uma string
# 4. Atualize o ano para ser 1 ano mais tarde usando o operador $
# 5. Adicione um novo elemento chamado 'available' com o valor TRUE
# 6. Imprima a lista completa atualizada
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos