Menu
CoddyTech

Методы словарей

Часть раздела Основы путешествия по GDScript на Coddy. Урок 80 из 92.

У словарей есть методы, которые сообщают, что в них содержится.

keys() возвращает массив ключей, а values() возвращает массив значений в порядке следования пар:

var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]

has() проверяет, существует ли ключ. Оператор in выполняет ту же проверку:

print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # true

size() возвращает количество пар, а is_empty() проверяет, нет ли ни одной:

print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # true

has() и in проверяют только ключи, а не значения: player.has("Mia") равно false.

challenge icon

Задание

Легко

Программа считывает две строки ввода: список пар, записанных в виде key:value и разделённых запятыми, и ключ для проверки. Данный код уже заполняет словарь info данными из первой строки.

Выведите в следующем порядке:

  1. Каждый ключ, по одному в строке
  2. ---
  3. Каждое значение, по одному в строке
  4. ---
  5. Количество пар
  6. ---
  7. true или false: пуста ли словарь
  8. ---
  9. true или false: существует ли ключ из второй строки ввода

Для входных данных name:Mia,hp:100,class:Mage и hp результат будет таким:

name
hp
class
---
Mia
100
Mage
---
3
---
false
---
true

Попробуйте сами

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]

	# Выведите ключи, значения, размер, is_empty и has(key)
	# с --- между частями
	pass
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript