Se ho due liste, come posso associare l'ennesimo elemento di una lista all'ennesimo elemento dell'altro array?Come posso associare l'ennesimo elemento di una delle liste all'ennesimo elemento di un'altra lista? Stavo esaminando gli array associativi ma non sono sicuro di come eseguirli effettivamente in loop e associare ciascuna chiave ai valori. (Nota che le mie chiavi sarebbero in un elenco e i dati nell'altro elenco).
ScriptingRi: Se ho due liste, come posso associare l'ennesimo elemento di una lista all'ennesimo elemento dell'altro array?No, non puoi, funzionano come coppie chiave-valore.Penso che sia necessario mantenere più array di valori aggiuntivi che è necessario tenere traccia.Di solito mi ritrovo con una raccolta di array: arrName, arrLSL, arrUSL ecc. Sebbene gli elementi della lista possano essere qualsiasi cosa, quindi ad esempio, con le specifiche avrò un arrangiamento come questo:
specs = arrSpecs[parameter];
lsl = specs["lsl"];
usl = specs["usl"];
cioè arrSpecs è un array con chiavi basate sul nome del parametro; ma il valore è un altro array, con le chiavi "lsl" e "usl".
Ri: Se ho due liste, come posso associare l'ennesimo elemento di una lista all'ennesimo elemento dell'altro array?Ciao David,
Puoi usare array associativi per tre parametri? L'ho provato e ha funzionato per due, ma il terzo parametro ha appena creato il proprio elenco alla fine. Come posso associarlo a ciascun elemento associativo?
Ri: Se ho due liste, come posso associare l'ennesimo elemento di una lista all'ennesimo elemento dell'altro array?Questo aiuta molto tempo, grazie!
Ri: Se ho due liste, come posso associare l'ennesimo elemento di una lista all'ennesimo elemento dell'altro array?Se stai pensando esclusivamente in termini di elenchi, l'indice li associa, ad esempio se desideri l'elemento i-esimo di entrambi gli elenchi, allora:
value1 = lst1[i];
value2 = lst2[i];
Se vuoi pensare in termini di array associativi, allora i 2 elenchi possono essere usati per creare un array
arr = AssociativeArray(lst1,lst2);
Quindi presumibilmente si desidera utilizzare il valore di un elenco per fare riferimento all'altro, ad es
key = lst1[i];
value = arr[key];
Quindi per iterare, qualcosa del genere:
keys = arr << get keys;
for (i=1,i<=nitems(keys),i++,
key = keys[i];
value = arr[key];
show(key,value);
);
Per esempio:
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);
);Ri: Se ho due liste, come posso associare l'ennesimo elemento di una lista all'ennesimo elemento dell'altro array?Penso che tu sia sulla strada giusta; gli array associativi funzionerebbero.L'esempio qui sotto aiuta?
Names Default To Here( 1 );
list1={"A","B","C","D"};
list2={5,6,7,8};
aa = Associative Array( list1, list2 );
Show(aa[list1[2]]);