Menu
CoddyTech

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) # true

size() 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()) # true

has() e in verificam apenas as chaves, nunca os valores: player.has("Mia") é false.

challenge icon

Desafio

Fácil

O 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:

  1. Cada chave, uma por linha
  2. ---
  3. Cada valor, um por linha
  4. ---
  5. O número de pares
  6. ---
  7. true ou false: se o dicionário está vazio
  8. ---
  9. true ou false: 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
---
true

Experimente 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
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

Pratique por conta própria: Compilador de GDScript online