Concatenar la lista que tiene variables que cambiaron en un bucleHola,
Tengo problemas para concatenar varias listas que contienen variables. Tengo una lista, cada elemento es una cadena que se concatena a partir de una variable ingresada por el usuario. Dado que la variable se modifica en cada bucle, ¿cómo puedo actualizar la lista y concatenar esa lista con otras listas?
bank_pcs = {"BGB1BESS001_B"||bank||"_W","BGB1BESS001_B"||bank||"_A","BGB1BESS001_V"||bank||"_W"};
For (i = 1, i<=6, i++,
bank_num = 6*(k-1)+i;
bank = char(bank_num,10,0);
Eval list (bank_pcs);
bank_tags_i = bank_pcs;
bank_tags = concat (bank_tags, bank_tags_i)
)Gracias
Combinación y limpieza de datosRe: Concatenar la lista que tiene una variable que cambió en un bucleMira si esto te dará lo que quieres
For( i = 1, i <= 6, i++,
bank_num = 6 * (k - 1) + i;
theBankValue = Char( bank_num, 10, 0 );
Eval(
Substitute(
Expr(
bank_pcs = {"BGB1BESS001_B" || bank || "_W", "BGB1BESS001_B" || bank || "_A", "BGB1BESS001_V" || bank ||
"_W"}
),
Expr( bank ), theBankValue
)
);
bank_tags_i = bank_pcs;
bank_tags = Concat( bank_tags, bank_tags_i );
);Re: Concat la lista que tiene variable que cambió en un bucleCasi estabas allí.Tenías la lista de evaluación (bank_pcs) pero eso no es lo que estás asignando a bank_tags_i.Esto funciona para mí.
NamesDefaultToHere(1);
bank_pcs = {"BGB1BESS001_B"||bank||"_W","BGB1BESS001_B"||bank||"_A","BGB1BESS001_V"||bank||"_W"};
For (i = 1, i<=6, i++,
bank_num = i; // changing this from yours because I assume you also have a k loop
bank = char(bank_num,10,0);
bank_tags_i = Evallist(bank_pcs);
if(i==1,
bank_tags = bank_tags_i // just if it isn't started yet. you're probably doing this in your k loop
, //else
bank_tags = concat (bank_tags, bank_tags_i)
)
);
bank_tags;Re: Concat la lista que tiene variable que cambió en un bucleo, si desea una lista de listas:
k = 11;
bank_tags = {};
bank_pcs = {"BGB1BESS001_B" || bank || "_W", "BGB1BESS001_B" || bank || "_A", "BGB1BESS001_V" || bank || "_W"};
For( i = 1, i <= 6, i++,
bank_num = 6 * (k - 1) + i;
bank = Char( bank_num, 10, 0 );
bank_tags_i = Eval List( bank_pcs );
bank_tags[1 + N Items( bank_tags )] = bank_tags_i;
);
Show( bank_tags );
/*{{"BGB1BESS001_B61_W", "BGB1BESS001_B61_A", "BGB1BESS001_V61_W"},
{"BGB1BESS001_B62_W", "BGB1BESS001_B62_A", "BGB1BESS001_V62_W"},
{"BGB1BESS001_B63_W", "BGB1BESS001_B63_A", "BGB1BESS001_V63_W"},
{"BGB1BESS001_B64_W", "BGB1BESS001_B64_A", "BGB1BESS001_V64_W"},
{"BGB1BESS001_B65_W", "BGB1BESS001_B65_A", "BGB1BESS001_V65_W"},
{"BGB1BESS001_B66_W", "BGB1BESS001_B66_A", "BGB1BESS001_V66_W"}}*/
Si desea una cadena en lugar de una lista, intente @vince_faller responder con Artículos de concatenación (bank_tags, "," ) para obtener los elementos de la lista en una cadena con comas.
Re: Concat la lista que tiene variable que cambió en un bucle¡Gracias! Funciona tal como esperaba.