Métodos de diccionarios
Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 80 de 92.
Los diccionarios tienen métodos que te indican qué contienen.
keys() devuelve un array de las claves, y values() devuelve un array de los valores, en el orden de los pares:
var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]has() comprueba si existe una clave. El operador in realiza la misma comprobación:
print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # truesize() devuelve el número de pares, y is_empty() comprueba si no hay ninguno:
print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # truehas() e in solo comprueban las claves, nunca los valores: player.has("Mia") es false.
Desafío
FácilEl programa lee dos líneas de entrada: una lista de pares escritos como key:value y separados por comas, y una clave que comprobar. El código proporcionado ya llena el diccionario info a partir de la primera línea.
Imprime, en este orden:
- Cada clave, una por línea
---- Cada valor, uno por línea
---- El número de pares
---trueofalse: si el diccionario está vacío---trueofalse: si existe la clave de la segunda entrada
Para las entradas name:Mia,hp:100,class:Mage y hp, la salida es:
name
hp
class
---
Mia
100
Mage
---
3
---
false
---
truePruébalo tú mismo
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]
# Imprime las claves, los valores, el tamaño, is_empty y has(key)
# con --- entre las partes
pass
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosDivisión enteraOperador móduloAtajos aritméticosRepaso: matemáticas básicasOperadores de comparación7Entrada y salida básicas
SalidaSalida con variablesFormato de cadenasEntradaConversión de tipoRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónArgumentosRetornoTipos de retornoRepaso: función SigmaRepaso: función de validaciónValores predeterminados5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaCómo obtener datos3Variables, parte 2
Declaración de tiposInferencia de tiposConstantesRepaso: inicializar variablesConversión de tipos9Bucles
Bucle forBucle whileBreakContinueRepaso - FactorialLa función rangeBucle anidadoRepaso - Entrada dinámica12Conceptos básicos de arrays
Declarar un arrayAcceder a los elementos de un arrayModificar arraysMétodos de arrayRepaso - Array de productosRepaso - Array invertidoArrays tipados15Diccionarios
Crear diccionariosAcceder a los valoresModificar diccionariosMétodos de diccionariosRecorrer diccionariosRepaso: diccionario de inventarioPractica por tu cuenta: Compilador de GDScript online