Wie erhalte ich den Index eines bestimmten Wertes/Eintrags in einer Liste?Ich habe die folgende Liste, wie bekomme ich den Index von SplPparameter?
myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd};Ans ist 4 im obigen Beispiel.
SkriptingRe: Wie erhalte ich den Index eines bestimmten Wertes/Eintrags in einer Liste?Hier sind einige Möglichkeiten, Ihre Frage zu bearbeiten.
Names Default To Here( 1 );
// My solution when list items are expressions
myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd};
For( i = 1, i <= N Items( mylist ), i++,
If( myList[i] == Parse( "Splparameter" ),
Break()
)
);
Show( i );
// If elements are strings the contains can be used
myList = {"paramter1", "parameter2", "parameter3", "Splparameter", "parameterN", "parameterEnd"};
i = Contains( myList, "Splparameter" );Re: Wie erhalte ich den Index eines bestimmten Wertes/Eintrags in einer Liste?Bei Ausdrücken können Sie auch 'Loc()' verwenden (was einen Spaltenvektor zurückgibt):
Names Default To Here( 1 );
myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd, Splparameter};
Print(loc(mylist, NameExpr(Splparameter)));Betreff: Wie erhalte ich den Index eines bestimmten Werts/Eintrags in einer Liste?Wenn Sie wissen, dass es sich bei den Elementen um Ausdrücke handelt, funktioniert dieser kürzere Code.
Names Default To Here( 1 );
// My solution when list items are expressions
myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd};
Contains( myList, Expr( Splparameter ) );
Wenn nicht, benötigen Sie einen allgemeineren Code wie den von bereitgestellten @txnelson