Si tengo dos listas, ¿cómo puedo asociar el elemento n de una lista al elemento n de la otra matriz?¿Cómo puedo asociar el elemento n de una de las listas al elemento n de otra lista? Estaba buscando matrices asociativas, pero no estoy seguro de cómo recorrerlas y asociar cada tecla con los valores. (Tenga en cuenta que mis claves estarían en una lista y los datos en la otra lista).
secuencias de comandosRe: Si tengo dos listas, ¿cómo puedo asociar el elemento n de una lista al elemento n de la otra matriz?Creo que estás en el camino correcto; las matrices asociativas funcionarían.¿Ayuda el siguiente ejemplo?
Names Default To Here( 1 );
list1={"A","B","C","D"};
list2={5,6,7,8};
aa = Associative Array( list1, list2 );
Show(aa[list1[2]]);Re: Si tengo dos listas, ¿cómo puedo asociar el elemento n de una lista al elemento n de la otra matriz?Si está pensando únicamente en términos de listas, el índice las asocia, es decir, si desea el i-ésimo elemento de ambas listas, entonces:
value1 = lst1[i];
value2 = lst2[i];
Si quiere pensar en términos de matrices asociativas, las 2 listas se pueden usar para crear una matriz
arr = AssociativeArray(lst1,lst2);
Entonces, presumiblemente, desea utilizar el valor de una lista para hacer referencia a la otra, por ejemplo.
key = lst1[i];
value = arr[key];
Luego para iterar, algo como esto:
keys = arr << get keys;
for (i=1,i<=nitems(keys),i++,
key = keys[i];
value = arr[key];
show(key,value);
);
Por ejemplo:
dt = open("$SAMPLE_DATA/Big Class.jmp");
lst1 = dt:name << get values;
lst2 = dt:age << get values;
arr = AssociativeArray(lst1,lst2);
keys = arr << get keys;
for (i=1,i<=nitems(keys),i++,
key = keys[i];
value = arr[key];
show(key,value);
);Re: Si tengo dos listas, ¿cómo puedo asociar el elemento n de una lista al elemento n de la otra matriz?Esto ayuda mucho, ¡gracias!
Re: Si tengo dos listas, ¿cómo puedo asociar el elemento n de una lista al elemento n de la otra matriz?Hola David,
¿Puedes usar arreglos asociativos para tres parámetros? Lo probé y funcionó para dos, pero el tercer parámetro acaba de crear su propia lista al final. ¿Cómo puedo asociarlo con cada elemento asociativo?
Re: Si tengo dos listas, ¿cómo puedo asociar el elemento n de una lista al elemento n de la otra matriz?No, no puedes, funcionan como pares clave-valor.Creo que necesita mantener varias matrices de valores adicionales que necesita rastrear.Por lo general, termino con una colección de matrices: arrName, arrLSL, arrUSL, etc. Aunque los elementos de la lista pueden ser cualquier cosa, como ejemplo, con las especificaciones tendré un arreglo como este:
specs = arrSpecs[parameter];
lsl = specs["lsl"];
usl = specs["usl"];
es decir, arrSpecs es una matriz con claves basadas en el nombre del parámetro; pero el valor es otra matriz, con claves "lsl" y "usl".