The for control structure executes a process for every element in a collection and returns a group of its values before continuing on.
The for clause can either be terminated by executing over all elements of a collection or by reaching a break statement
The continue statement will terminate the execution over the current element and continue on to the next element if any more exists, otherwise it will end the for clause
(1) for [expression] in [collection] : [process1]
(2) for [expression] in [collection] : [process1] else [condition2] : [process2]
(1) The [expression] value must be a single or a group of variables. While the clause does not end, [process1] is executed with the variable(s) in [expression] set to the values of the number of variables starting from the next value in [collection], if there are enough values in [collection]. If not terminated by break, a group of the values of all executions are returned, otherwise the null value is returned
(2) Like (1), except if not ended by a break statement, the else clauses are executed. else clauses can be chained. If [condition1] is false, [condition2] is checked for each clause, and the first clause to have [condition2] to evaluate to true is executed and returned. All other else clauses are ignored. [condition2] can be omitted and will default to true, but such an else clause must be placed last. The null value is returned if no clause executes.