Listas y diccionarios (
Varios valores guardados como uno solo: una lista, valores en orden, o un diccionario, valores que se buscan por clave.
Sintaxis
{a,b,c}
{}
{key:value,key:value,…}
{:}
list[index]
dictionary[key]
CONCAT(a,b,…)
SUBRANGE(list,first,count)
INDEXOF(list,value,from)
CONTAINS(list,value)
| Parte | Significado |
|---|---|
| a, b, c | Los elementos de la lista: cualquier expresión, incluso listas y diccionarios. |
{} |
Una lista vacía. |
| key:value | Las entradas de un diccionario: cada clave y su valor. |
{:} |
Un diccionario vacío. |
| index | Qué elemento de una lista: un número entero, a partir de 0 (el primer elemento es [0]). |
| key | Qué valor de un diccionario. |
CONCAT |
Listas unidas en una (un valor que no es una lista se añade como elemento); diccionarios combinados; cadenas unidas. |
SUBRANGE |
count elementos de una lista, a partir de first (contando desde 0); sin count, hasta el final. En una cadena, sus caracteres. |
INDEXOF |
Dónde aparece value por primera vez en una lista (desde 0, buscando a partir de from si se indica), o -1 si no está; en una cadena, dónde aparece por primera vez una cadena. |
CONTAINS |
Si value es un elemento de una lista, una clave de un diccionario o una cadena dentro de una cadena. |
Resultado
Una lista o un diccionario; con [ ] detrás, uno de sus valores.
Ejemplos
En el dibujo de ejemplo:
| Expresión | Resultado |
|---|---|
{10,20,40}[0] |
10 |
{10,20,40}[2] |
40 |
{10,20,40}.COUNT |
3 |
{10,20}+{40} |
{10,20,40} |
{"A4":210,"A3":297}["A3"] |
297 |
{"A4":210,"A3":297}.KEYS |
{"A4","A3"} |
{"A4":210,"A3":297}.VALUES |
{210,297} |
{1:"one",2:"two"}[L/250] |
"two" |
{P1,P2}[1] |
[500,300] |
{10,20,40}.LAST |
40 |
CONCAT({10,20},{40},50) |
{10,20,40,50} |
SUBRANGE({10,20,40,50},1,2) |
{20,40} |
SUBRANGE({10,20,40,50},2) |
{40,50} |
INDEXOF({10,20,40},40) |
2 |
INDEXOF({10,20,40},30) |
-1 |
CONTAINS({"A4":210,"A3":297},"A5") |
FALSE |
CONCAT("Box ",L,"x",W) |
"Box 500x300" |
SUBRANGE("Lid flap",4) |
"flap" |
INDEXOF("Lid flap","flap") |
4 |
Notas
Guarde una lista o un diccionario en una variable y úselo por su nombre: SIZES={"A4":210,"A3":297} y luego SIZES["A4"].
- Las claves son números, cadenas, posiciones o TRUE y FALSE. Una clave numérica coincide con el mismo número se
escriba como se escriba (
2,2.0,4/2); las cadenas deben coincidir exactamente. Si una clave aparece dos veces, cuenta la primera. - Propiedades:
.COUNTes el número de elementos o entradas;.FIRSTy.LASTde una lista son su primer y su último elemento;.KEYSy.VALUESde un diccionario son listas de sus claves y de sus valores, en orden. - Unión:
+une dos listas, y también dos diccionarios (los valores del segundo sustituyen a los del primero en las claves que comparten). - Comparación:
==compara elemento a elemento. - Un índice que no sea un número entero de 0 a
.COUNT-1, o una clave que no exista, es un error. Para dar un valor en esos casos, use SWITCH. - Las listas y los diccionarios son valores: no cambian. En un bloque, vaya construyendo uno con
LIST = LIST + {X}. FOREACH ejecuta un bloque para cada elemento de una lista o cada clave de un diccionario. [x,y](entre corchetes) es una posición, no una lista.