Si j'ai deux listes, comment puis-je associer le nième élément d'une liste au nième élément de l'autre tableau ?Comment associer le nième élément d'une des listes au nième élément d'une autre liste ? Je cherchais dans les tableaux associatifs, mais je ne sais pas comment les parcourir et associer chaque clé aux valeurs. (Notez que mes clés seraient dans une liste et les données dans l'autre liste).
ScriptRe : Si j'ai deux listes, comment puis-je associer le nième élément d'une liste au nième élément de l'autre tableau ?Non, vous ne pouvez pas, ils fonctionnent comme des paires clé-valeur.Je pense que vous devez conserver plusieurs tableaux de valeurs supplémentaires que vous devez suivre.Je me retrouve généralement avec une collection de tableaux : arrName, arrLSL, arrUSL, etc. Bien que les éléments de la liste puissent être n'importe quoi, par exemple, avec les spécifications, j'aurai un arrangement comme celui-ci :
specs = arrSpecs[parameter];
lsl = specs["lsl"];
usl = specs["usl"];
c'est-à-dire que arrSpecs est un tableau avec des clés basées sur le nom du paramètre ; mais la valeur est un autre tableau, avec les clés "lsl" et "usl".
Re : Si j'ai deux listes, comment puis-je associer le nième élément d'une liste au nième élément de l'autre tableau ?Salut David,
Pouvez-vous utiliser des tableaux associatifs pour trois paramètres ? Je l'ai essayé et cela a fonctionné pour deux mais le troisième paramètre vient de créer sa propre liste à la fin. Comment puis-je l'associer à chaque élément associatif ?
Re : Si j'ai deux listes, comment puis-je associer le nième élément d'une liste au nième élément de l'autre tableau ?Cela aide beaucoup, merci !
Re : Si j'ai deux listes, comment puis-je associer le nième élément d'une liste au nième élément de l'autre tableau ?Si vous pensez uniquement en termes de listes, l'index les associe, c'est-à-dire si vous voulez le iième élément des deux listes, alors :
value1 = lst1[i];
value2 = lst2[i];
Si vous voulez penser en termes de tableaux associatifs, les 2 listes peuvent être utilisées pour créer un tableau
arr = AssociativeArray(lst1,lst2);
Ensuite, vous souhaitez probablement utiliser la valeur d'une liste pour référencer l'autre, par exemple
key = lst1[i];
value = arr[key];
Ensuite, pour itérer, quelque chose comme ceci:
keys = arr << get keys;
for (i=1,i<=nitems(keys),i++,
key = keys[i];
value = arr[key];
show(key,value);
);
Par exemple:
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 j'ai deux listes, comment puis-je associer le nième élément d'une liste au nième élément de l'autre tableau ?Je pense que vous êtes sur la bonne voie; les tableaux associatifs fonctionneraient.L'exemple ci-dessous vous aide-t-il ?
Names Default To Here( 1 );
list1={"A","B","C","D"};
list2={5,6,7,8};
aa = Associative Array( list1, list2 );
Show(aa[list1[2]]);