# Co to jest słownik

W dodatku Dynamo 2.0 wprowadzono oddzielenie typu danych słownika od typu danych listy. Ta modyfikacja może spowodować istotne zmiany w sposobie tworzenia i pracy z danymi w procesach roboczych. Przed wersją 2.0 słowniki i listy stanowiły jeden typ danych. W skrócie: listy były w rzeczywistości słownikami z kluczami w formie liczb całkowitych.

### **Co to jest słownik?**

Słownik jest typem danych składającym się z kolekcji par wartości i kluczy, przy czym każdy klucz jest niepowtarzalny w danej kolekcji. Słownik nie jest uporządkowany i zasadniczo można „wyszukiwać elementy”, używając klucza zamiast wartości indeksu — jak w przypadku listy. *W dodatku Dynamo 2.0 klucze mogą być tylko ciągami.*

### **Co to jest lista?**

Lista jest typem danych składającym się z kolekcji uporządkowanych wartości. W dodatku Dynamo indeksy listy są liczbami całkowitymi.

### **Dlaczego ta zmiana została wprowadzona i jakie ma znaczenie dla użytkownika?**

Rozdzielenie słowników od list sprawia, że słowniki stają się pierwszoligowym narzędziem, którego można używać do szybkiego i łatwego przechowywania i wyszukiwania wartości bez konieczności zapamiętywania wartości indeksu ani utrzymywania ścisłej struktury listy w całym procesie roboczym. Podczas testowania u użytkowników dostrzegliśmy znaczne zmniejszenie rozmiaru wykresu, gdy używano słowników zamiast kilku węzłów `GetItemAtIndex`.

### **Na czym polegają różnice?**

* Wprowadzono zmiany w *składni* w zakresie inicjalizacji słowników i list w węzłach Code Block oraz pracy z nimi.
  * W przypadku słowników używana jest następująca składnia: `{key:value}`
  * Listy mają następującą składnię `[value,value,value]`
* W bibliotece wprowadzono *nowe węzły*, aby ułatwić tworzenie i modyfikowanie słowników oraz stosowanie do nich zapytań.
* Listy tworzone w węzłach Code Block w wersji 1.x będą automatycznie migrowane po wczytaniu skryptu do nowej składni listy, w której są używane nawiasy kwadratowe `[ ]` zamiast nawiasów klamrowych `{ }` \\

!

***

### **Dlaczego należy się tym przejmować? Do czego służą te elementy?**

W informatyce słowniki — tak jak listy — to kolekcje obiektów. Listy mają określony porządek, natomiast słowniki są kolekcjami *nieuporządkowanymi*. Nie są one zależne od sekwencji liczby (indeksów). Wykorzystuje się w nich *klucze*.

Na poniższej ilustracji pokazano potencjalny przypadek zastosowania słownika. Często słowniki są używane do powiązania dwóch fragmentów danych, które mogą nie mieć bezpośredniej korelacji. W naszym przypadku połączymy hiszpańską wersję słowa z angielską do późniejszego wyszukania.

!

> 1. Utwórz słownik, aby powiązać te dwa elementy danych.
> 2. Pobierz wartość związaną z podanym kluczem.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/pl/5_essential_nodes_and_concepts/5-5_dictionaries-in-dynamo/1-what-is-a-dictionary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
