Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Verehrte Gäste,
Ich versuche, eine Liste für alle in einer Liste vorhandenen Elemente zu erstellen.
Bereits,
MasterList = {"test1", "test2"};
Erforderlich,
Hängen Sie die Zeichenfolge „value“ an jedes in der MasterList vorhandene Element an und erstellen Sie jedes Element als einzelne Liste.
test1value = {};
test2value = {};
Danke, Alex.
Qualitäts- und VerfahrenstechnikWindowsBetreff: Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Nur ein kurzer Punkt: Verwendung Eval( Parse( Eval Insert( ... ) ) ) kann etwas umständlich und langsam sein (obwohl die Verlangsamung nur bei sehr vielen Anrufen spürbar ist).Sie können dies vermeiden, indem Sie wie folgt direkt auf den Namespace „here“ zugreifen:
Names Default To Here( 1 );
MasterList = {"test1", "test2"};
here = Namespace( "here" );
// many variables containing lists
For Each( {item}, Masterlist, here[item || "value"] = {} );
Show( test1value, test2value );Betreff: Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Etwas anderer Ansatz mit einem assoziativen Array:
Names Default To Here( 1 );
MasterList = {"test1", "test2"};
// associative array containing lists
Master_AA = Associative Array();
for (i = 1, i <= nitems(masterlist), i++,
one_key = masterlist[i];
master_aa[one_key] = {};
);
// Load the lists with some data
insertinto(master_aa["test1"], {1, 2, 3});
insertinto(master_aa["test2"], {4, 5, 6});
print(master_aa);
Ausgabe:
["test1" => {1, 2, 3}, "test2" => {4, 5, 6}]Betreff: Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Danke Georg und Mark!!
Beide Lösungen haben ihren Zweck erfüllt!!
Betreff: Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Tolle Idee von Mark.
Dies könnte in Ihrem Fall wie folgt aussehen. Sie können viele Listen effektiv in einem assoziativen Array verwalten.
Names Default To Here( 1 );
MasterList = {"test1", "test2"};
// many variables containing lists
For Each( {item}, Masterlist, Eval( Parse( Eval Insert( "^item^value= {};" ) ) ) );
Show( test1value, test2value );
// associative array containing lists
Master_AA = Associative Array();
For Each( {item, index}, Masterlist, Master_AA[Masterlist[index] || "value"] = {} );<BR />Master_AA["test1value"] = {1, 2, 3};
For Each( {key}, Master_AA, Show( key, Master_AA[key] ) );Betreff: Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Vielleicht möchten Sie es verwenden Assoziative Arrays statt Listen.
Betreff: Erstellen Sie eine Liste für jedes in einer Liste vorhandene Element.Wahrscheinlich hilft das
Names Default To Here( 1 );
MasterList = {"test1", "test2"};
For Each( {item}, Masterlist, Eval( Parse( Eval Insert( "^item^value= {};" ) ) ) );
Show( test1value, test2value );