Difference between revisions of "Zip Command"
From GeoGebra Manual
m |
Noel Lambert (talk | contribs) |
||
Line 5: | Line 5: | ||
{{Note|In each list the elements must be of the same type.}} | {{Note|In each list the elements must be of the same type.}} | ||
+ | |||
+ | ==New possibility > 5.0.258 , functions allowed as variables== | ||
+ | :{{example|1=<code>Zip[f(2), f, {x+1,x+3}]</code> returns the list ''{3, 5}''.}} |
Revision as of 23:05, 8 July 2016
- Zip[ <Expression>, <Var1>, <List1>, <Var2>, <List2>, ...]
- Creates list of objects obtained by substitution of variables in the expression by elements of corresponding lists. Length of the resulting list is minimum of lengths of input lists.
- Example: Let P, Q, R, S be some points.
Zip[Midpoint[A, B], A, {P, Q}, B, {R, S}]
returns a list containing midpoints of segments PR and QS.
- Example: Let list1={x^2, x^3, x^6} be a list of polynomials.
Zip[Degree[a], a, list1]
returns the list {2, 3, 6}.
Note: In each list the elements must be of the same type.
New possibility > 5.0.258 , functions allowed as variables
- Example:
Zip[f(2), f, {x+1,x+3}]
returns the list {3, 5}.
Comments
It's actually enough to provide a single list to Zip(). This makes it a shorter alternative to Sequence() when all you want is to traverse a list. For example, Zip(a^2, a, listOfNumbers)
is much shorter than Sequence(Element(listOfNumbers, a)^2, a, 1, Length(listOfNumbers))
(albeit in this case it's easier to just do listOfNumbers^2
.)
Hint: Zip() is similar to a construct known as "map" in other programming languages.