# Trabalhando com arrays e dicionários

**Array** — é uma estrutura de dados que armazena uma coleção de valores (chamados elementos do array), cada um identificado por um índice. Ela é definida usando colchetes \[]. Por exemplo, a instrução q = \[] significa que a variável q contém um array vazio. Se q = \[2, 5, 7, 4, 9], então o array contém 5 elementos — esse é o seu tamanho. Os índices dos elementos, que representam suas posições no array, começam em 0. Então, o índice do elemento "2" é 0, e o índice do elemento "4" em nosso array é 3.

<figure><img src="/files/60ff7006390f709b4e2f71382748b051bf5375a5" alt=""><figcaption></figcaption></figure>

**Exemplo:** array=\[1,2,3,4] ou array1=\["mãe","pai","filho","filha"]

**Um exemplo de acesso a um elemento de array:** array\[1] (retorna o valor 2)

**Dicionário** — é uma estrutura de dados que representa um conjunto de elementos organizado de forma especial, que armazena dados. Todos os dados são armazenados na forma de pares chave-valor. O acesso aos elementos de dados é feito usando a chave. Uma chave sempre precisa ser única dentro de um único dicionário, enquanto os dados (valores) podem ser duplicados, se necessário.

**Exemplo:** {"SLU":12345,"Nome":"Camiseta masculina, branca","Tamanho":50,"Preço":1000}

**Um exemplo de acesso a um elemento de array:** dictionary\["Array"] (retorna o valor 12345)

Tanto arrays quanto dicionários podem ter estruturas complexas ou aninhadas — isto é, podem conter uns aos outros. Por exemplo:

um array de dicionários: products=\[{"SKU":12345,"Nome":"Camiseta masculina, branca","Tamanho":50,"Preço":1000},{"SKU":12346,"Nome":"Camiseta masculina, branca","Tamanho":52,"Preço":1000}]

&#x20;A expressão `s = {}` significa que a variável s contém um dicionário que não possui elementos. Podemos colocar nele um par chave-valor, ou até vários: `s = {"chave1":"valor1", "chave2":"valor2","chave3":"valor3"}` Cada chave e valor fica entre aspas, dois pontos são colocados entre a chave e o valor, e os pares chave-valor são separados por vírgulas.

Arrays e dicionários podem ser aninhados. Vamos ver um exemplo:

`arco-íris = [vermelho, laranja, amarelo, verde, azul claro, azul, roxo]` - isto é um array.

Se escrevermos&#x20;

arco-íris = {"todo":"vermelho","caçador":"laranja","quer":" amarelo","saber":"verde","onde":"azul claro","senta":"azul","faisão":"roxo"}

\- obtemos um dicionário

Se olharmos com atenção para o arco-íris, podemos ver, por exemplo, que a cor azul claro é mais complexa e consiste em turquesa, azul claro e azul escuro. Vamos escrever: `azul claro = [turquesa,azul claro, azul escuro]`. Agora vamos inserir nosso array “azul” no dicionário “arco-íris”:

arco-íris = {"primeira\_cor":"<mark style="color:padrão;background-color:yellow;">vermelho</mark>","<mark style="color:padrão;background-color:blue;">segunda\_cor</mark>":"<mark style="color:padrão;background-color:yellow;">laranja</mark>","<mark style="color:padrão;background-color:blue;">terceira\_cor</mark>":"<mark style="color:padrão;background-color:yellow;">amarelo</mark>","<mark style="color:padrão;background-color:blue;">quarta\_cor</mark>":"<mark style="color:padrão;background-color:yellow;">verde</mark>","<mark style="color:padrão;background-color:blue;">sexta\_cor</mark>":"<mark style="color:padrão;background-color:yellow;">azul</mark>","<mark style="color:padrão;background-color:blue;">última\_cor</mark>":"<mark style="color:padrão;background-color:yellow;">roxo</mark>"}

Então, como especificamos o endereço de um elemento, por exemplo, “turquesa”?&#x20;

E, em arrays, o endereçamento é feito por <mark style="color:padrão;background-color:yellow;">**índice**</mark>, então o endereço do elemento "turquesa" é 0.

&#x20;Resumindo isso: **\["onde"]\[0]** - é o endereço do elemento "turquesa".

<div data-with-frame="true"><figure><img src="/files/e8379c1146e510a7c2c6844e9731063b06c8cf7a" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/c3cf9282053e4b186ccf5e41321db2c91d504f05" alt="" width="375"><figcaption></figcaption></figure></div>

## Como trabalhar com endereçamento (JSON)

Ao receber respostas de serviços de terceiros via API, na maioria das vezes obtemos JSON, que representa um dicionário. Com muita frequência, precisamos armazenar um valor específico desse dicionário em uma variável.

A melhor maneira de entender o princípio de endereçamento em JSON é por meio de um exemplo:<mark style="color:padrão;background-color:green;">{</mark><mark style="color:padrão;background-color:orange;">"sugestões"</mark>: <mark style="color:padrão;background-color:red;">\[{"value": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "Emirados Árabes Unidos"}}]</mark><mark style="color:padrão;background-color:green;">}</mark>&#x20;

Aqui temos um dicionário contendo um único par chave-valor **sugestões** - a chave do array: `[{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "Emirados Árabes Unidos"}}]`

O valor da **sugestões** chave é um array com apenas um elemento — um dicionário:  `{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "Emirados Árabes Unidos"}}` **sugestões|0** - é a chave do primeiro (e único) elemento do array.`{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "Emirados Árabes Unidos"}}`

**sugestões|0|value** - é a chave para o valor "rublo bielorrusso"

{"suggestions": \[{"<mark style="color:padrão;background-color:orange;">value</mark>": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "Emirados Árabes Unidos"}}]}

O caminho de chave mais longo neste JSON é: **sugestões|0|data|strcode** - é a chave para AED

<div data-with-frame="true"><figure><img src="/files/c2efd8004a75791eb593859f8e1ba38abb1f7d19" alt="" width="563"><figcaption></figcaption></figure></div>

{"suggestions": \[{"value": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "<mark style="color:padrão;background-color:orange;">strcode</mark>": "<mark style="color:padrão;background-color:red;">AED</mark>", "name": "Dirham", "country": "Emirados Árabes Unidos"}}]}

As chaves são separadas por uma barra vertical. Se o JSON contiver um array, o acesso aos seus elementos é feito por índice, começando em 0, e também é escrito usando uma barra vertical. A indexação de arrays começa em 0.

No endereçamento, números são tratados da mesma forma que strings e vice-versa. Por exemplo, '6' e 6 são considerados iguais.

Além das respostas da API, arrays e dicionários também podem ser usados para armazenar dados de forma conveniente.

Por exemplo, se você precisar restringir o acesso a uma seção específica de um bot para certos usuários, pode armazenar os IDs deles em um array, colocá-lo em uma variável global do projeto e usá-lo em condições de blocos ou lógica de setas para verificar se o ID do usuário está incluído no array.

Outro exemplo é quando você precisa armazenar a quantidade de pontos de cada jogador em um jogo em equipe. Você pode usar um dicionário para isso, onde as chaves são os IDs dos usuários e os valores são seus pontos.

Às vezes, é necessário modificar um array ou um dicionário. As funções descritas neste artigo foram criadas exatamente para esse propósito. A maioria dos métodos descritos abaixo funciona tanto com arrays quanto com dicionários.

## Trabalhando com arrays

### Como criar um array

Criando array - declarando um array

**array\_name = \[]**

### Como limpar um array

Limpar um array é essencialmente o mesmo que declarar um array vazio:

**array\_name = \[]**

### Como acessar um elemento do array

<details>

<summary>Descrição</summary>

**name\[index] -** acesso a um elemento do array por índice ou por valor

</details>

<details>

<summary>Exemplo</summary>

Vamos ver alguns exemplos de trabalho com arrays:

**Exemplo de acesso a um elemento do array por seu índice:**

<div data-with-frame="true"><figure><img src="/files/a2950d1108b917813c5476afd4eb3dba55150c9f" alt="" width="563"><figcaption></figcaption></figure></div>

#### Exemplo de obtenção do último elemento do array:

<div data-with-frame="true"><figure><img src="/files/7af7dcfd54e12934ef9ccc3e377efdd8f99ec8a6" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
/*Acesso por índice*/
arrayI = [1, "2", 3, 4, 5]
k=arrayI[3]
/*Acesso por índice a partir de um array aninhado*/
arrayV = [[1, "2", 4, 5], "2", 3, 4, 5]
v=arrayV[0][1]

/*Exemplo de obtenção do último elemento*/
array = [1, "2", 3, 4, 5]
/*Obtendo o último elemento do array*/
last = array[-1]
```

</details>

### Como substituir um valor em um array

<details>

<summary>Descrição</summary>

**name\[index] =** **value** - substituição de um elemento do array por um índice informado

</details>

<details>

<summary>Exemplo</summary>

**Exemplo:**

Para substituir o valor de um elemento específico do array, use a seguinte sintaxe: *array\_name\[index] = value*

<div data-with-frame="true"><figure><img src="/files/0a199249c8b5bff54545610143f1a1ddcb1cb680" alt="" width="563"><figcaption></figcaption></figure></div>

Resposta:

<div data-with-frame="true"><figure><img src="/files/600af980a8eedd4af05eda6508d2a300ac3b041f" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
array = [1, "2", 3, 4, 5]

/*Substituir em array\dicionário*/
array[2] = 888

/*Adicionar em dicionário   dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new

/*Substituir em array\dicionário para o número*/
array[3] = int('888')
dicts['a'] = int('555')
```

</details>

### Como verificar se um elemento está em um array

<details>

<summary>Descrição</summary>

**in\_array(mass, value)** - para verificar se um elemento existe em um array.

**Parâmetros:** \ <mark style="color:vermelho;">!</mark> **mass -** array \ <mark style="color:vermelho;">!</mark> **value -** valor para pesquisa

Retorna True ou False dependendo se o valor foi encontrado ou não.

</details>

<details>

<summary>Exemplo</summary>

Exemplo:

<div data-with-frame="true"><figure><img src="/files/5e67df36b791b7632abac1ba89ce5327df389f2c" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s = ["Mike", "Peter", "Helen"] 
q = if(in_array(s, 'Ann'), 'Encontrado', 'Outra string')
```

</details>

### Como descobrir o tamanho do array

<details>

<summary>Descrição</summary>

**arr\_len(mass)** - para descobrir o tamanho do array

Parâmetro:\ <mark style="color:vermelho;">!</mark> **mass -**  *array*&#x20;

Resultado: retorna um número - o tamanho do array.

{% hint style="warning" %}
Tenha cuidado ao passar parâmetros para a função! Se chamada sem parâmetros, retorna 0; se o parâmetro não for nem um array nem um dicionário, retorna -1.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Exemplo de uso:

<div data-with-frame="true"><figure><img src="/files/cdc2b2f21c1b28f7a0565cc2bca66adbb613e764" alt=""><figcaption></figcaption></figure></div>

Resultado:

<div data-with-frame="true"><figure><img src="/files/9e5ec955d8044a26bcce812cdf58ab626d312e76" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s = ["Mike", "Peter", "Helen"] 
q = if(arr_len(s) > 5, 'Grupo está cheio', 'Junte-se à nossa equipe!')
```

</details>

### Como inserir um elemento no final de um array?

<details>

<summary>Descrição</summary>

**append(mass, element, priznak)** - para inserir um elemento no final de um array.&#x20;

Parâmetros:

<mark style="color:vermelho;">!</mark> **mass -** array\ <mark style="color:vermelho;">!</mark> **element -** elemento a inserir\
**priznak** - sinal que indica se é um array ou um dicionário

Retorna o array com o valor adicionado no final. Para atualizar o array original, use a atribuição: **mass = append(mass, element, priznak)**&#x20;

{% hint style="warning" %}
&#x20;Por padrão, os dados são inseridos como strings. **Se você precisar inserir um array ou dicionário, passe um parâmetro adicional True**. Isso indica que você está inserindo JSON.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Exemplo de uso:

<div data-with-frame="true"><figure><img src="/files/ab5e56f2315ece3e8f4b9c24faab289d4c076ae0" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/9368a3bd70d6d3dcd1cbbf65a6255207e47cfc14" alt="" width="375"><figcaption></figcaption></figure></div>

Exemplo de adição e remoção de um array:

<div data-with-frame="true"><figure><img src="/files/3a3bca9110b176ee2a0bd0199592ba558039b82a" alt="" width="563"><figcaption><p>Neste exemplo, um elemento é adicionado ao array project.vibpzdr, e o valor <code>p</code> é removido do array project.pzdr</p></figcaption></figure></div>

Exemplo de criação de um array com arrays dentro:

<div data-with-frame="true"><figure><img src="/files/725ce29abc11f858b233c8d4a6c989a1688fd517" alt="" width="563"><figcaption></figcaption></figure></div>

O resultado da execução da função:

<div data-with-frame="true"><figure><img src="/files/29b6b4135666533e58c4de16520ed0eb14a4c04f" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s = ["Mike", "Peter", "Helen"]
q = append(s, 'Max')
```

</details>

### Como inserir um valor em uma posição específica de um array

<details>

<summary>Descrição</summary>

**insert(mass, index, value, priznak)** - para inserir um elemento em uma posição específica do array.

Parâmetros: \ <mark style="color:vermelho;">!</mark> **mass -** array\ <mark style="color:vermelho;">!</mark> **index -** posição de inserção\ <mark style="color:vermelho;">!</mark> **value -** value\
**indicador** - indicador de adição a um array ou a um dicionário.

Resultado:\
Retorna um array com o valor adicionado na posição especificada. Em outras palavras, para adicionar o valor ao mesmo array, use o comando na seguinte forma:  **mass = insert(mass, index, value, indicator)**&#x20;

{% hint style="warning" %}
Por padrão, os dados são inseridos como strings. **Se você precisar inserir um array ou dicionário, passe um parâmetro adicional True**. Isso indica que você está inserindo JSON..
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Exemplo:

<div data-with-frame="true"><figure><img src="/files/a573e884d9c0ac50e767bb76a9ba8d62e5a2bf87" alt="" width="563"><figcaption></figcaption></figure></div>

Resultado:

Vamos ver um exemplo mais complexo - adicionando um dicionário t a um array s:

<figure><img src="/files/9b9d8b608ca18c2ae0108a1aac994902480d9b4c" alt=""><figcaption></figcaption></figure>

Na função, indicamos que queremos adicionar um dicionário na posição 1. Vamos ver o resultado:

<figure><img src="/files/2059d25896cbf293a36d495f19f9131c1c8dc39e" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s = ["Mike", "Peter", "Helen"]
q = insert(s, 1, 'Max')
```

</details>

### Como deletar um elemento do array

del() | del | remove()

<details>

<summary>Descrição</summary>

<mark style="color:padrão;background-color:blue;">**Por índice**</mark>

**del(mass, key)** - remove um elemento do array pelo seu índice.&#x20;

Parâmetros: \ <mark style="color:vermelho;">!</mark> **mass -** nome do array;\ <mark style="color:vermelho;">!</mark> **key -** o índice do valor a ser removido

Retorna um novo array com o elemento removido; o array original permanece inalterado. Para excluir e atualizar o mesmo array, use o comando assim: \
**mass = del(mass, key)**

{% hint style="warning" %}
Se o seu array contiver números e você quiser remover um elemento pelo valor, use a função remove().&#x20;
{% endhint %}

**del name\['index']** - removendo um valor de um array pelo índice

Parâmetros: \ <mark style="color:vermelho;">!</mark> **name-** nome do array;\ <mark style="color:vermelho;">!</mark> **index-** o índice do valor a ser removido

<mark style="color:padrão;background-color:blue;">Por valor</mark>

**remove(mass, value)** - para excluir um valor de um *array*.&#x20;

Parâmetros: \ <mark style="color:vermelho;">!</mark> **mass -** nome do array; \ <mark style="color:vermelho;">!</mark> **value -** o valor a ser removido do array

Resultado:\
Retorna um array modificado, deixando o array original inalterado. Para remover um elemento e atualizar o mesmo array, use o comando na seguinte forma:\
**mass = remove(mass, key)**

</details>

<details>

<summary>Exemplos</summary>

Exemplo de remoção de um elemento por índice:

<div data-with-frame="true"><figure><img src="/files/0a7b4ed67f59dc975758eea815574b869d6ab778" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/858f0ee6e62d2f6a421c7a8af3a43feb979f11d8" alt="" width="375"><figcaption></figcaption></figure></div>

Exemplo de remoção de um elemento do array por seu valor:

<div data-with-frame="true"><figure><img src="/files/e93af5e19c10e6d61138caa65fdbfa06d54dfdbc" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/42efad0c04a0184832024a00ad8db8b377a13618" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
/*Removendo um elemento do array pelo seu índice:*/
array = ["1",2, 3, "4"]
del array['1']

array1 = ["1",2, 3, "4"]
array1=del(array1,0)


/*Removendo um elemento do array pelo seu valor:*/
array = ["1",2, 3, "4"]
array=remove(array, '4') 

array1 = ["1",2, 3, "4"]
array1=remove(array1, 2) 
```

</details>

### Como obter a posição de um elemento em um array

<details>

<summary>Descrição</summary>

**index(mass, value)**

Parâmetros: \ <mark style="color:vermelho;">**!**</mark> **mass -** nome do array \ <mark style="color:vermelho;">**!**</mark>**&#x20;value -** o valor cuja posição precisa ser determinada.

Se o elemento não estiver no array, a função retornará -1.

</details>

<details>

<summary>Exemplos</summary>

Exemplo de determinação da posição de um elemento em um array:

<div data-with-frame="true"><figure><img src="/files/e47761515674b096d3373f3f9ea3fc35689aa153" alt="" width="563"><figcaption></figcaption></figure></div>

Vamos olhar o resultado com mais detalhes:

<div data-with-frame="true"><figure><img src="/files/2011650394128962b2d87a19e4669f9fffc4a3be" alt="" width="375"><figcaption></figcaption></figure></div>

Como podemos ver, como o número 5 não está no array, a função retornou -1.

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
array = ["1",2, 3, "4"]
search1=index(array,"1")
search2=index(array,5)
```

</details>

### Como converter um array em texto legível para humanos

<details>

<summary>Descrição</summary>

**massive\_to\_text(massive, header, numbered,delimiter1,delimiter2)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;massive** – o array a ser exibido,\
**header** – um título que aparecerá no início da saída\
**numbered** – se qualquer valor for passado, os elementos do array serão numerados\
**delimiter1** – o caractere colocado no final da linha de cada elemento (o padrão é ‘;’),\
**delimiter2** – o caractere usado após o número do item quando a numeração está ativada (o padrão é ‘)’ )

</details>

<details>

<summary>Exemplos</summary>

Exemplo simples:

Como resultado, o array será exibido como uma lista numerada:

<div data-with-frame="true"><figure><img src="/files/7c571586b5e8060b2d1e7edad20db54091190ddb" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
Array1 = [1, 2, 3, "a", "b", "c"] 
text = array_to_text(Array1, 'título', 1) 
```

</details>

### Como excluir um array de outro

<details>

<summary>Descrição</summary>

**except\_arr(mas1, mas2)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;mas1** - o array do qual os elementos serão excluídos,\ <mark style="color:vermelho;">**!**</mark>**&#x20;mas2** - o array que contém os elementos a serem excluídos

</details>

<details>

<summary>Exemplos</summary>

Vamos ver o exemplo:

<div data-with-frame="true"><figure><img src="/files/eed3cbc6ecdac666b326da5bce198827c87ef7de" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/f415a3058e1d07780083443fd07e423e7532962c" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s1 = [1, 2, 3]
s2 = [2, 3]
s3 = except_arr(s1, s2)
```

</details>

### Como encontrar a interseção de arrays

<details>

<summary>Descrição</summary>

**cross\_arr(mas1, mas2)**

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;mas1** - o array no qual pesquisar\ <mark style="color:vermelho;">**!**</mark>**&#x20;mas2** - o array que contém os elementos a serem procurados

</details>

<details>

<summary>Exemplos</summary>

<div data-with-frame="true"><figure><img src="/files/3da45e6cf59a06fce1a0905d1826099c6a38a8ff" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/417a818c076f4ac8789581625ef87fa127b36d55" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s1 = [1, 2, 3]
s2 = [2, 3]
s3 = cross_arr(s1, s2)

mas1 = ["não", "exceto,", "que", "tudo", "está", "tão", "simples.", "obrigado"]
mas2 = ["tudo", "obrigado"]
mas3 = cross_arr(mas1, mas2)
```

</details>

### **Como mesclar arrays**

<details>

<summary>Descrição</summary>

Não existe uma função nativa específica para mesclar arrays, mas isso pode ser feito facilmente:

Para combinar arrays, faça a concatenação de strings, depois substitua ']\[' por uma vírgula ','

</details>

<details>

<summary>Exemplos</summary>

Este é um exemplo no campo Calculadora

<div data-with-frame="true"><figure><img src="/files/5cd25bb706096e0cfffa04436509e3e6eeec1fd4" alt="" width="563"><figcaption></figcaption></figure></div>

Este é um exemplo de um bot funcionando

<div data-with-frame="true"><figure><img src="/files/799516415fc73f4b2001d69b1672bfe9b01139c3" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
a = [1,2,3,4] 
b = [5,6,7] 
sum = a + b 
answer = replace(sum, '][', ',') 
```

</details>

### Como somar os elementos de um array

<details>

<summary>Descrição</summary>

**sum\_array(array)**

**Parâmetros:**

**array** - o array cujos elementos precisam ser somados

{% hint style="warning" %} <mark style="color:vermelho;">**Atenção!**</mark>**&#x20;A função funciona com arrays de um formato específico.**

Formatos aceitos: - \[1,2,3,4] ou ‘\[1,2,3,4]’. \
Se o array contiver números representados como strings, eles precisam estar entre aspas duplas — por exemplo, \[1,2,3,”-4”].  \
Se o array contiver strings alfabéticas, o cálculo falhará.

Exemplo de uso incorreto:\
mas = \[1,2,3,"a"] \
result = sum\_array(mas)

Isso resultará em um erro: **o array possui elementos não suportados**
{% endhint %}

</details>

<details>

<summary>Exemplos</summary>

<div data-with-frame="true"><figure><img src="/files/e15f6aa134c67eb27180e7a0d16a1dd3780b796c" alt="" width="563"><figcaption></figcaption></figure></div>

Resultado:

<div data-with-frame="true"><figure><img src="/files/a1568adece94d5f3b06ccc41066129f347c284a9" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/ea0504fff6a4fedc7801d19ac1bd6959810a90d0" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
mas = [1,2,3,4] 
result = sum_array(mas) 
```

</details>

### Como embaralhar os elementos de um array

<details>

<summary>Descrição</summary>

**shuffle\_massive(massive**

Parâmetros:

**massive** - o array cujos elementos precisam ser embaralhados.

</details>

<details>

<summary>Exemplos</summary>

<div data-with-frame="true"><figure><img src="/files/648bfe8fa38ede642ad918d1b89330f2e8c481d8" alt="" width="563"><figcaption></figcaption></figure></div>

Resultados da execução da função:

<div data-with-frame="true"><figure><img src="/files/1a1443977b45c59277d44f2904b5c07edeb92a16" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
Massive1 = [1, 2, 3, "a", "b", "c"]
Massive2 = shuffle_massive(Massive1) 
```

</details>

### Para classificar arrays e dicionários&#x20;

sort() | sort\_by\_value()

<details>

<summary>Descrição</summary>

<mark style="color:padrão;background-color:blue;">**Ordenação em um array ou em um dicionário**</mark>&#x20;

**sort(mass, b)** - classifica um array por valor e um dicionário por chave

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;mass** - array/dicionário\
**b** - ordem de classificação (False – crescente (padrão), True – decrescente)

<mark style="color:padrão;background-color:blue;">**Ordenação de dicionário por seu valor**</mark>

**sort\_by\_value(dict, b) -** classifica um dicionário pelos valores.

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;dict**- dicionário\
**b** - ordem de classificação (False – crescente (padrão), True – decrescente)

</details>

<details>

<summary>Exemplo</summary>

Exemplo de classificação de um array em ordem decrescente e de um dicionário em ordem crescente:

<div data-with-frame="true"><figure><img src="/files/fc5bca76b8fa8628d5bdfd0d07d2d414acb56469" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/310cab0b07812626a61d794dd58187a35309e0a7" alt="" width="375"><figcaption><p>resultado da classificação</p></figcaption></figure></div>

Classificando um dicionário pelos valores:

<figure><img src="/files/7217e40dde0ba2565f34e123fe2556661d0741ab" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/d97b588a3f72d84db7603fcb6c9d2e1afd23d387" alt="" width="375"><figcaption><p>resultado da classificação</p></figcaption></figure>

</details>

### Convertendo um array/dicionário em botões

**tools\_make\_button\_str\_checker() | tools\_check\_user\_input()**

<details>

<summary>Descrição</summary>

<mark style="color:padrão;background-color:blue;">**Convertendo um array/dicionário em botões**</mark>

tools\_make\_button\_str\_checker(values\_list, key, in\_line, button\_type, checker\_with\_numbers)

Parâmetros:

<mark style="color:vermelho;">**!**</mark> values\_list - um array de strings ou dicionários cujos dados serão usados para construir um teclado ou uma lista numerada

key - a chave pela qual a seleção será feita a partir de um array de dicionários

in\_line - número de botões por linha (padrão: 1)

button\_type - tipo de botões (padrão: teclado de resposta). \
Valores possíveis:\
0 - teclado de resposta,\
1 - teclado inline (botões no texto)

checker\_with\_numbers - se deve adicionar números dos botões ao array "checker". \
Valores possíveis:\
0 - não adicionar números, \
1 - adicionar números (padrão: 1 – adicionar números)

Resultado da função — um dicionário no formato:

{"**numbered\_list**": "1. Camisetas\n2. Bermudas\n3. Meias\n4. Bonés\n","**buttons**":\[{"type":"inline","text":"Camisetas","line":0,"index\_in\_line":0},{"type":"inline","text":"Bermudas","line":0,"index\_in\_line":1},{"type":"inline","text":"Meias","line":1,"index\_in\_line":0},{"type":"inline","text":"Bonés","line":1,"index\_in\_line":1}],"**checker**":"Camisetas;1;Bermudas;2;Meias;3;Bonés;4;"}

Os valores do dicionário podem então ser inseridos nos campos do construtor:

<div data-with-frame="true"><figure><img src="/files/7076f0f1d5123f11eeff7b37c5b78a33160a4bef" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/f99f37f773d92cce7c035324ebf5eecccd527f6d" alt="" width="375"><figcaption></figcaption></figure></div>

<mark style="color:padrão;background-color:blue;">**Obtendo um valor do dicionário com base na seleção do cliente**</mark>&#x20;

**tools\_check\_user\_input(values\_list, user\_input, key, return\_key)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;values\_list** - um array de strings ou dicionários cujos dados serão usados para construir um teclado ou uma lista numerada\ <mark style="color:verde;">Exemplo de dicionário:</mark> \[{"text":"Camisetas","price":100},{"text":"Bermudas","price":150},{"text":"Meias","price":20},{"text":"Bonés","price":50}]\ <mark style="color:vermelho;">**!**</mark>**&#x20;user\_input** - o valor digitado pelo usuário dentre um dos valores em values\_list\ <mark style="color:verde;">Exemplo de valor:</mark> Bonés\
**key** - a chave usada para seleção a partir do array de dicionários values\_list\ <mark style="color:verde;">Exemplo de chave:</mark> text\
**return\_key** - o valor retornado para a chave especificada de values\_list\ <mark style="color:verde;">Exemplo de valor de retorno:</mark> price

</details>

<details>

<summary>Exemplo</summary>

Vamos detalhar o uso da função com um exemplo de carrinho de compras:

1\. Defina um array e converta-o em uma lista numerada, botões e uma lista de valores possíveis (para mensageiros sem botões) usando a função tools\_make\_button\_str\_checker().

<div data-with-frame="true"><figure><img src="/files/d34687ec025e99f6111c666ce37345fdc0894996" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/a5c70462acc5373b948bd359f1c14f7c2eafca71" alt="" width="375"><figcaption><p>Resultado do uso <strong>tools_make_button_str_checker()</strong> função</p></figcaption></figure></div>

2\. Use os valores obtidos de buttons e numbered\_list para permitir a seleção do produto:

<div data-with-frame="true"><figure><img src="/files/b777deb9fdbd8a3048e8e738eb282f6907cc0480" alt=""><figcaption></figcaption></figure></div>

3\. Use o verificador da lista de valores possíveis para validar a entrada do cliente:

<div data-with-frame="true"><figure><img src="/files/f1dd71b1c6b6a36572bf88313f916c19ea4cf752" alt="" width="563"><figcaption></figcaption></figure></div>

4\. Por fim, exiba o preço do produto selecionado para o cliente. Isso é conveniente fazer usando a função tools\_check\_user\_input()

<div data-with-frame="true"><figure><img src="/files/55696850ff3d32dc91c3708d56b17ee3cc154e2e" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
list = [{"text":"Camisetas","price":100},{"text":"Bermudas","price":150},{"text":"Meias","price":20},{"text":"Bonés","price":50}]
res = tools_make_button_str_checker(list, "text", "2", "1")
numbered_list = res['numbered_list']
buttons = res['buttons']
checker = res['checker']

res_check = tools_check_user_input(list, user_input, 'text', 'price')
```

</details>

### Seleção de dados de um array

<details>

<summary>Descrição</summary>

**array\_slice(array, start\_index, end\_index)**&#x20;

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;array** - array \ <mark style="color:vermelho;">**!**</mark>**&#x20;start\_index** - início do recorte \
**end\_index** - fim do recorte (padrão: até o final)

</details>

<details>

<summary>Exemplo</summary>

Vamos selecionar um subarray a partir do 1º elemento:

<div data-with-frame="true"><figure><img src="/files/67d8130865fd275f666b147ec0d79c2de603c6af" alt="" width="563"><figcaption><p>Exemplo de uso de array_slice()</p></figcaption></figure></div>

&#x20;res será \["Bermudas", "Meias", "Bonés"]&#x20;

Outro exemplo de seleção de um subarray do 0º ao 2º elemento do array:

<div data-with-frame="true"><figure><img src="/files/244b65508a11e4ebf00521e2d5746d0852169ea2" alt="" width="563"><figcaption><p>Exemplo de uso de array_slice()</p></figcaption></figure></div>

&#x20;res será \["Camisetas", "Bermudas"]

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
list = ["Camisetas", "Bermudas", "Meias", "Bonés"] 
res = array_slice(list, 1)

res = array_slice(list, 0, 2)
```

</details>

### Desempacotando elementos do array

<details>

<summary>Função</summary>

unpack\_list(array, var\_name) - este método percorre um array e cria uma variável separada para cada elemento do array com nomes como var1, var2, var3 etc.&#x20;

<mark style="color:vermelho;">**!**</mark> array - parâmetro obrigatório, um array de elementos

var\_name - parâmetro opcional, uma string. Se fornecido, é usado para nomear os elementos desempacotados. Exemplos:

Se var\_name for fornecido, os nomes das variáveis são formados usando var\_name

var\_name deve seguir as regras de nomenclatura de variáveis.

</details>

<details>

<summary>Exemplo</summary>

**Exemplo 1:**

`array1 = ["um", "dois", "três"]`

`ans1 = unpack_list(array1)`

**Resultado** - variáveis de deal criadas:

`var1 = 'um'`

`var2 = 'dois'`

`var3 = 'três'`

**Exemplo 2:**

`array2 = ["um", "dois", "três"]`

`var_name = 'customizado'`

`ans2 = unpack_list(array2, var_name)`

**Resultado -** variáveis de deal criadas:

`custom1 = 'um'`

`custom2 = 'dois'`

`custom3 = 'três'`

</details>

### Como retornar uma lista sem elementos duplicados

<details>

<summary>Descrição</summary>

remove\_duplicates(array) - retorna uma lista sem elementos duplicados.

<mark style="color:vermelho;">**!**</mark> array - parâmetro obrigatório. A lista original de elementos com duplicatas.

</details>

<details>

<summary>Exemplo</summary>

Exemplo:

arr = \[1, 2, 5, 1, 5, 3]

new\_arr = remove\_duplicates(arr)

Resultado - a lista \[1, 2, 5, 3] será atribuída à variável new\_arr.

</details>

### Como criar um dicionário

<details>

<summary>Descrição</summary>

Criando dicionário - declarando um dicionário

**name\_dictionary = {}**

</details>

### Como limpar um dicionário

<details>

<summary>Descrição</summary>

Limpar - não é nada mais do que declarar um dicionário vazio.

**name\_dictionary = {}**

</details>

### Como obter o valor do dicionário pela chave

<details>

<summary>Descrição</summary>

**name\[key] -** obtendo um elemento do dicionário pela chave

</details>

<details>

<summary>Exemplos</summary>

**Exemplo de trabalho com um dicionário:**

&#x20;Neste caso específico, estamos acessando o valor pela chave "a". Para recuperar um valor de um dicionário usando uma chave específica, use o seguinte formato: name\_dictionary\["key"]

<div data-with-frame="true"><figure><img src="/files/f82c352d3180bdddf15b9ed7f579f726f7110260" alt="" width="563"><figcaption></figcaption></figure></div>

Resposta:

<div data-with-frame="true"><figure><img src="/files/d50d8a9fd4f338a331fcd844377f5d5b4c88c6a4" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
dicts = {"a": "11", "d": "oi"}
/*obtendo do dicionário*/
aa = dicts["a"]
```

</details>

### Como obter uma lista de chaves de um dicionário

<details>

<summary>Descrição</summary>

**dict\_keys\_to\_array(data)** - para obter uma lista das chaves do dicionário data

</details>

<details>

<summary>Exemplos</summary>

**Exemplo:** Obter uma lista de todas as chaves do dicionário

<div data-with-frame="true"><figure><img src="/files/d01011c31f9aa327cbfea506c0543bd3470afc92" alt="" width="563"><figcaption></figcaption></figure></div>

**Resposta:**&#x20;

<div data-with-frame="true"><figure><img src="/files/a545a82a2a04a2e85c4193f9a8a426eb9e076b77" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
v={"A1":"laranja","A2":"damasco","A3":"tangerina","A4":"maçã","A5":"pera","A6":"kiwi","A7":"banana","A8":"pêssego"} 
key= dict_keys_to_array(v)
```

</details>

### Como obter uma lista de valores de um dicionário

<details>

<summary>Descrição</summary>

**dict\_values\_to\_array(data)** - para obter uma lista de valores de um dicionário

</details>

<details>

<summary>Exemplos</summary>

Exemplo:

<div data-with-frame="true"><figure><img src="/files/ae9ddcd10ebaf9024bb44dbd11d1de86867f2bb6" alt="" width="563"><figcaption></figcaption></figure></div>

Resposta:

<div data-with-frame="true"><figure><img src="/files/a27e1020bdf269df44f50e86a44c383d7d67f811" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
v={"A1":"laranja","A2":"damasco","A3":"tangerina","A4":"maçã","A5":"pera","A6":"kiwi","A7":"banana","A8":"pêssego"}
value= dict_values_to_array(v)
```

</details>

### Como obter os valores da lista de dicionários pela chave especificada

<details>

<summary>Descrição</summary>

**get\_values\_by\_key(data, key)** - permite obter valores da lista de dicionários pela chave especificada. Retorna uma lista de valores.

</details>

<details>

<summary>Exemplo</summary>

Exemplo: obter valores de uma lista de dicionários pela chave

<div data-with-frame="true"><figure><img src="/files/d782c17f88fbd49565ebaf60dcaa56e5317597b0" alt="" width="563"><figcaption></figcaption></figure></div>

Resposta:

<div data-with-frame="true"><figure><img src="/files/7e06e30c504c463f1718955ce4288d59c5b84148" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
data = [{"Product": "Product№1", "Price": 1500}, {"Product": "Product№2", "Price": 6000}]
key = "Product"
result = get_values_by_key(data, key)
```

</details>

### Como substituir um valor em um dicionário&#x20;

<details>

<summary>Descrição</summary>

nam&#x65;**\['key'] = value** - substituindo o valor do elemento do dicionário pela chave especificada. Se for especificada uma chave inexistente, um novo elemento do dicionário será adicionado.

</details>

<details>

<summary>Descrição</summary>

**Exemplo:**

Para substituir o valor de um elemento específico do array, escreva uma atribuição como arra&#x79;*\_name\[index] = value ou dictionary\_name*\[key] = value

<div data-with-frame="true"><figure><img src="/files/8470e12072e1a2b7e0ed42b30d2d024a6f7c2278" alt=""><figcaption></figcaption></figure></div>

Resposta:&#x20;

<div data-with-frame="true"><figure><img src="/files/7615fc5889995de8c7771a6a207b0b5168f19535" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
dicts = {"a": "11", "d": "oi"}

/*Substituir em um dicionário*/
dicts['d'] = AAAAA

/*Adicionar em um dicionário   dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new

/*Substituir em um dicionário com um número*/
dicts['a'] = int('555')
```

</details>

### Como adicionar um valor a um dicionário

<details>

<summary>Descrição</summary>

**dictionary\_name*****\['key'] = 'value'** -* adicionando um novo valor ao dicionário.&#x20;

{% hint style="warning" %}
Se a chave não existia antes, um novo par chave–valor será adicionado; caso contrário, o valor da chave especificada será substituído.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Este é um exemplo do código no campo da calculadora

<div data-with-frame="true"><figure><img src="/files/6841ca517d62eb74aed86a796ce484dce5050a0f" alt=""><figcaption></figcaption></figure></div>

Resposta

<div data-with-frame="true"><figure><img src="/files/8919b24e135342467aa9d080bc579b7b0e1e755e" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
/*adicionando um novo valor ao dicionário dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new
```

</details>

### Como verificar se uma chave existe em um dicionário

<details>

<summary>Descrição</summary>

**exist\_key(mass, key)** - para verificar se uma chave existe em um dicionário.

Parâmetros:&#x20;

**mass -** dictionary&#x20;

**key -** a chave a ser pesquisada

Retorna Verdadeiro ou Falso, dependendo de a chave ter sido encontrada.

</details>

<details>

<summary>Exemplo</summary>

Exemplo de uso:

<div data-with-frame="true"><figure><img src="/files/37aa175301dd566e39c552f8a0b9d44a9a85daf1" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/84605e09c4fd7b246f9e4d2a7856189b9f2e222a" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s = {"1": 123, "2": 234, "q": {"w": "e"}} 
q = if(exist_key(s, 'q'), 'Encontrado', 'Outra linha')
```

</details>

### Como verificar a posição de uma chave em um dicionário

<details>

<summary>Descrição</summary>

**key\_index(mass, key)** - para verificar a posição de uma chave em um dicionário.

**Parâmetros:** \
**mass - dicionário**  \
**key -** Chave a ser pesquisada.

{% hint style="info" %}
A posição em um dicionário é contada a partir de 0. Portanto, o primeiro elemento é 0, o segundo elemento é 1 e assim por diante.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Exemplo de uso:

<div data-with-frame="true"><figure><img src="/files/c4408d53f8e624d200603200b548fecac83307bb" alt=""><figcaption></figcaption></figure></div>

*Resultado:*

<div data-with-frame="true"><figure><img src="/files/adaacbd2bc9d79ed501059ded31e37dacb9f54c1" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
s = {"1": 123, "2": 234, "q": {"w": "e"}} 
q = key_index(s, 'q')
```

</details>

### Como obter o número de elementos em um dicionário

<details>

<summary>Descrição</summary>

**arr\_len(mass)** - para determinar o comprimento de um dicionário.&#x20;

Parâmetro:\
**mass -** *dictionary*&#x20;

Resultado: retorna um número – o comprimento do dicionário.

{% hint style="warning" %}
Будьте внимательны Ao passar um parâmetro para a função: se a função for chamada sem parâmetros, ela retorna 0; se o parâmetro não for uma lista ou um dicionário, ela retorna -1.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Exemplo de uso:

<div data-with-frame="true"><figure><img src="/files/d60f49e23fe03d05d9ab37f555eec037e8c4c4de" alt=""><figcaption></figcaption></figure></div>

Resposta:

<div data-with-frame="true"><figure><img src="/files/59aee798276d9ac057d15ab4ff15630f5811d961" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

### Como excluir um elemento de um dicionário

<details>

<summary>Descrição</summary>

Por índice ou chave

**del(mass, key)** - para excluir um elemento de uma lista por índice ou de um dicionário por chave.\
Recebe dois parâmetros: a lista/dicionário e o índice/chave a excluir.\
Retorna o dicionário ou lista modificados sem alterar o objeto original.

{% hint style="warning" %}
Se os valores em uma lista ou dicionário forem números, use a função remove() para excluir um elemento.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Exemplo com um dicionário

<div data-with-frame="true"><figure><img src="/files/258d9a82706cfc68f9e39f058e03f8f14bffcba8" alt=""><figcaption></figcaption></figure></div>

Resultado

<div data-with-frame="true"><figure><img src="/files/4921b8b5d721996f6dc7db873471d8a32b9931e1" alt="" width="563"><figcaption></figcaption></figure></div>

Exemplo com um array

<div data-with-frame="true"><figure><img src="/files/da95a9c05ed025cbc861fce39db7620b3ea5939a" alt="" width="563"><figcaption></figcaption></figure></div>

Resultado

<div data-with-frame="true"><figure><img src="/files/1b4d80d11fdf7ec94bb717e03d4dba58c8c4eb04" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

Exemplo com um dicionário

`s={"1":123, "2":234, "q":{"w":"e"}}`<br>

`q=del(s,'q')`

Exemplo com um array

`s=["John", "Ann", "Sophie"]`\ <br>

`q=del(s, 1)`

</details>

### Como converter um dicionário em texto legível por humanos

<details>

<summary>Descrição</summary>

**humanize(dict, delimiter, from\_i, to\_i)**&#x20;

Parâmetros:

**dict** - nome do dicionário\
**delimiter** - delimitador entre linhas\
**from\_i** - índice do elemento a partir do qual iniciar a saída (base 0)\
**to\_i** - índice do elemento no qual encerrar a saída (não inclusivo)

</details>

<details>

<summary>Exemplo</summary>

Vamos ver o exemplo:

<div data-with-frame="true"><figure><img src="/files/b54317bf8eea27dcc86f177414be0f31f3aadfaf" alt="" width="563"><figcaption></figcaption></figure></div>

Resposta

<div data-with-frame="true"><figure><img src="/files/756af6d3d6f6a95189f072d663a7212898bdd62f" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
dict = {"[id146467928|Alex]":"6","[id145255525|Маx]":"20"}
r = humanize(dict, ': ')
```

</details>

### Para ordenar dicionários&#x20;

sort() | sort\_by\_value()

<details>

<summary>Descrição</summary>

<mark style="color:padrão;background-color:blue;">**Ordenação de dicionário**</mark>

**sort(dict, b)** - Ordena uma lista por valor e um dicionário por chave

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;dict**- dicionário

**b** - direção da ordenação (False – crescente por padrão, True – decrescente)

<mark style="color:padrão;background-color:blue;">**Ordenação de dicionário por valor**</mark>

**sort\_by\_value(dict, b) -** Ordenando um dicionário por valores.

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;dict**- dicionário

**b** - direção da ordenação (False – crescente por padrão, True – decrescente)

</details>

<details>

<summary>Exemplos</summary>

Exemplo: ordenando uma lista em ordem decrescente e um dicionário em ordem crescente:

<div data-with-frame="true"><figure><img src="/files/b4532d159d8523395fd5ec2407e5ad52f0f70580" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/0f0b375c3644cc64045338e42403abbc11c6892b" alt="" width="375"><figcaption></figcaption></figure></div>

Ordenando um dicionário pelos seus valores:

<div data-with-frame="true"><figure><img src="/files/d985dee1e73020ea035fb3053bba192f4d677b2d" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/ca8a5af2439d43c130450e0270ba5ee581352c3b" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

Exemplo: ordenando uma lista em ordem decrescente e um dicionário em ordem crescente:

`array1=[5,4,0,6,3,0]`<br>

`array1=sort(array1, True)`

`dict={"Ann":5, "John":4, "Sophie":0, "Alex":6, "Kate":3, "Harry":0}`

`dict=sort(dict)`

Ordenando um dicionário pelos seus valores:

`dict={"Ann":5, "John":4, "Sophie":0, "Alex":6, "Kate":3, "Harry":0}`&#x20;

`dict=sort_by_value(dict)`

</details>


---

# 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://docs.mavibot.ai/doc/pt/chatbot/functions/calculadora/arrays.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.
