![]() |
proc Tcl : generation : nbre listes variables avec nbre elem variables - Version imprimable +- Communauté Eggdrop (https://forum.eggdrop.fr) +-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8) +--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4) +--- Sujet : proc Tcl : generation : nbre listes variables avec nbre elem variables (/showthread.php?tid=1467) |
proc Tcl : generation : nbre listes variables avec nbre elem variables - pierre13 - 29/11/2013 Bonjour, je voudrais implémenter en script Tcl, une procédure qui génére les listes d'éléments suivantes (exemple avec 4 listes) : Code : list1_1 list2_1 list3_1 list4_1 Ceci à partir d'un nombre de listes variables. Chaque liste contient un nombre variable d'éléments. Exemple : tcl
list1_1 est l'élément 1 de la liste list_1, ainsi de suite. Je sais que je peux faire la procédure suivante, mais elle ne fonctionne que pour un nombre de listes fixe. Or, je souhaite que ce nombre de listes soit variable. tcl
Je ne parviens pas à écrire la procédure Tcl pour "un nombre de listes variables avec chaque liste qui contient un nombre variable d'éléments." Est-ce que quelqu'un pourrait m'aider ? merci. Pierre RE: proc Tcl : generation : nbre listes variables avec nbre elem variables - CrazyCat - 29/11/2013 Merci d'utiliser les balises TCL et CODE pour mettre en forme ton post. Ce petit script fonctionne: tcl
RE: proc Tcl : generation : nbre listes variables avec nbre elem variables - pierre13 - 29/11/2013 Merci, ça semble bien marcher !! RE: proc Tcl : generation : nbre listes variables avec nbre elem variables - pierre13 - 12/12/2013 Merci beaucoup pour l'aide précédente. Maintenant je souhaite affiner mon script et je souhaite générer non pas toutes les combinaisons, mais filtrer en ne générant pas les cas croisés pour certaines listes. Je m'explique ci-dessous. J'ai les 4 listes : set l1 {1 11 111} set l2 {2 22 222 2222} set l3 {3 33} set l4 {1 11 111} Et je ne souhaite pas générer les combinaisons croisées pour les listes définies dans la variable (évidemment les listes définies dans cette variable contiennent les mêmes éléménts): set list_generation_same_value_only "l1 l4" Ce qui donnerait par exemple : 1 2 3 1 -> combinaison à générer 1 2 3 11 1 2 3 111 1 2 33 1 -> combinaison à générer 1 2 33 11 1 2 33 111 1 22 3 1 -> combinaison à générer 1 22 3 11 1 22 3 111 1 22 33 1 -> combinaison à générer 1 22 33 11 ... 11 .. .. 11 -> combinaison à générer ... 111 .. .. 111 -> combinaison à générer ... Peux-tu me donner un coup de main, ça me serait très utile !! merci. Pierre RE: proc Tcl : generation : nbre listes variables avec nbre elem variables - CrazyCat - 12/12/2013 Je ne suis pas certain de comprendre, donc je repose la définition: Tu veux générer les combinaisons uniquement si (dans ton exemple) l'élément de l1 est identique à l'élément de l4 ? RE: proc Tcl : generation : nbre listes variables avec nbre elem variables - pierre13 - 12/12/2013 oui, comme dans l'exemple que je donne. Il ne faut pas générer les cas croisés pour certaines listes (je décide donc de mettre ces listes dans la variable : list_generation_same_value_only). RE: proc Tcl : generation : nbre listes variables avec nbre elem variables - pierre13 - 13/12/2013 Une idée que je suis en train d'implémenter : j'essaye de récupérer les index des éléments qui doivent être identiques, puis une fois que la liste "b" a sa longueur max, les listes "b" s'insèrent à la liste finale "out". Sauf que je rajoute un test pour n'insérer seulement que dans "out", les listes "b" dont les éléments qui doivent être identiques, le sont. Enfin, j'espère que je suis clair ? Si tu as une autre idée, je suis preneur ? merci. Pierre |