:github_url: hide .. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the Dictionary.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_Dictionary: Dictionary ========== **Category:** Built-In Types Brief Description ----------------- Dictionary type. Methods ------- +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`duplicate` **(** :ref:`bool` deep=False **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`erase` **(** :ref:`Variant` key **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get` **(** :ref:`Variant` key, :ref:`Variant` default=Null **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has` **(** :ref:`Variant` key **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_all` **(** :ref:`Array` keys **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`hash` **(** **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`keys` **(** **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`size` **(** **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`values` **(** **)** | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ Description ----------- Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are always passed by reference. Erasing elements while iterating over them **is not supported**. Creating a dictionary: :: var d = {4: 5, "A key": "A value", 28: [1, 2, 3]} To add a key to an existing dictionary, access it like an existing key and assign to it: :: d[4] = "hello" # Add integer 4 as a key and assign the String "hello" as its value. d["Godot"] = 3.01 # Add String "Godot" as a key and assign the value 3.01 to it. Tutorials --------- - `#dictionary <../getting_started/scripting/gdscript/gdscript_basics.html#dictionary>`_ in :doc:`../getting_started/scripting/gdscript/gdscript_basics` Method Descriptions ------------------- .. _class_Dictionary_method_clear: - void **clear** **(** **)** Clear the dictionary, removing all key/value pairs. .. _class_Dictionary_method_duplicate: - :ref:`Dictionary` **duplicate** **(** :ref:`bool` deep=False **)** Creates a copy of the dictionary, and returns it. .. _class_Dictionary_method_empty: - :ref:`bool` **empty** **(** **)** Returns ``true`` if the dictionary is empty. .. _class_Dictionary_method_erase: - :ref:`bool` **erase** **(** :ref:`Variant` key **)** Erase a dictionary key/value pair by key. Returns ``true`` if the given key was present in the dictionary, ``false`` otherwise. Does not erase elements while iterating over the dictionary. .. _class_Dictionary_method_get: - :ref:`Variant` **get** **(** :ref:`Variant` key, :ref:`Variant` default=Null **)** Returns the current value for the specified key in the ``Dictionary``. If the key does not exist, the method returns the value of the optional default argument, or ``null`` if it is omitted. .. _class_Dictionary_method_has: - :ref:`bool` **has** **(** :ref:`Variant` key **)** Returns ``true`` if the dictionary has a given key. .. _class_Dictionary_method_has_all: - :ref:`bool` **has_all** **(** :ref:`Array` keys **)** Returns ``true`` if the dictionary has all of the keys in the given array. .. _class_Dictionary_method_hash: - :ref:`int` **hash** **(** **)** Returns a hashed integer value representing the dictionary contents. .. _class_Dictionary_method_keys: - :ref:`Array` **keys** **(** **)** Returns the list of keys in the ``Dictionary``. .. _class_Dictionary_method_size: - :ref:`int` **size** **(** **)** Returns the size of the dictionary (in pairs). .. _class_Dictionary_method_values: - :ref:`Array` **values** **(** **)** Returns the list of values in the ``Dictionary``.