Métodos de dicionário
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 80 de 92.
Dicionários têm métodos que informam o que eles contêm.
keys() retorna um array das chaves, e values() retorna um array dos valores, na ordem dos pares:
var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]has() verifica se uma chave existe. O operador in faz a mesma verificação:
print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # truesize() retorna o número de pares, e is_empty() verifica se não há nenhum:
print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # truehas() e in verificam apenas as chaves, nunca os valores: player.has("Mia") é false.
Desafio
FácilO programa lê duas linhas de entrada: uma lista de pares escritos como key:value e separados por vírgulas, e uma chave para verificar. O código fornecido já preenche o dicionário info a partir da primeira linha.
Imprima, nesta ordem:
- Cada chave, uma por linha
---- Cada valor, um por linha
---- O número de pares
---trueoufalse: se o dicionário está vazio---trueoufalse: se a chave da segunda entrada existe
Para as entradas name:Mia,hp:100,class:Mage e hp, a saída é:
name
hp
class
---
Mia
100
Mage
---
3
---
false
---
trueExperimente você mesmo
extends Node
func _ready():
var text := OS.read_string_from_stdin()
var key := OS.read_string_from_stdin()
var info := {}
for pair in text.split(","):
var parts := pair.split(":")
info[parts[0]] = parts[1]
# Imprima as chaves, os valores, o tamanho, is_empty e has(key)
# com --- entre as partes
pass
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
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando elementos de um ArrayModificando ArraysMétodos de ArrayRevisão - Array de produtosRevisão - Array invertidoArrays tipados15Dicionários
Criando dicionáriosAcessando valoresModificando dicionáriosMétodos de dicionárioPercorrendo dicionáriosRevisão - Dicionário de inventárioPratique por conta própria: Compilador de GDScript online