Difference between revisions of "Lists"
m |
|||
(10 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | <noinclude>{{Manual Page|version= | + | <noinclude>{{Manual Page|version=5.0}}</noinclude>{{objects|general}} |
− | {{objects|general}} | + | Using curly braces you can create a ''list'' of several objects (e.g. points, segments, circles). |
− | Using curly braces you can create a list of several objects (e. g. points, segments, circles). | ||
{{Example|1=<br> | {{Example|1=<br> | ||
− | * <code>L = {A, B, C}</code> gives you a list consisting of three prior defined points A, B, and C. | + | * <code>L = {A, B, C}</code> gives you a list consisting of three prior defined points ''A'', ''B'', and ''C''. |
− | * <code>L = {(0, 0), (1, 1), (2, 2)}</code> produces a list that consists of the entered points | + | * <code>L = {(0, 0), (1, 1), (2, 2)}</code> produces a list that consists of the entered points and also creates these nameless points. |
− | {{ | + | * The short syntax <code>..</code> creates a list of successive integers: e.g. <code>-5..5</code> creates the list {''-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5''}. }} |
+ | {{Notes|1=<div> | ||
+ | *By default, the elements of this list are not shown in the [[File:Menu view graphics.svg|link=|16px]] [[Graphics View]]. | ||
+ | *Lists can also be used as arguments in list operations (mentioned further in this article) or [[List Commands]].</div>}} | ||
− | To access particular elements of | + | ==Accessing Elements of Lists== |
+ | To access particular elements of a list you can use the [[Element Command]] or the simplified syntax shown in the example below: | ||
+ | {{Example|1=Let <code>list = {1, 2, 3, 4, 5}</code>, then:<div> | ||
+ | *<code>list(1)</code> returns the first element of the list: ''1'' | ||
+ | *<code>list(2)</code> returns the second element of the list: ''2'' | ||
+ | *.../... | ||
+ | *<code>list(-1)</code> returns the last element of the list: ''5'' | ||
+ | *<code>list(-5)</code> returns the first element of the list: ''1'' | ||
+ | *<code>list(0)</code> returns ''undefined'', as well as <code>list(k)</code> for k > 5 or k < -5</div>}} | ||
− | == | + | ==Comparing Lists of Objects== |
− | You can compare two lists of objects by using the following | + | You can compare two lists of objects by using the following syntaxes and commands: |
− | * List1 == List2: | + | * <code>List1 == List2</code>: checks if the two lists are equal as ordered [[w:Tuple|tuples]], and yields ''true'' or ''false''. |
− | *List1 != List2: | + | * <code>List1 != List2</code>: checks if the two lists are not equal as ordered tuples, and yields ''true'' or ''false''. |
+ | * <code>Unique[list1] == Unique[list2]</code> or <code>list1 \ list2 == {}</code> : checks if the two lists are equal as sets (i.e. all repeated elements are ignored, as well as the elements order) and yields ''true'' or ''false''. | ||
+ | * <code>Sort[list1] == Sort[list2]</code>: checks if the two lists are equal as [[w:Multiset|multisets]] (i.e. the elements order is ignored) and yields ''true'' or ''false''. | ||
+ | |||
+ | See also [[Unique Command|Unique]] and [[Sort Command|Sort]] commands. | ||
+ | |||
+ | ==List Operators== | ||
+ | |||
+ | <code><Object> ∈ <List></code>: returns ''true'' if ''Object'' is an element of ''List'' | ||
+ | |||
+ | <code><List1> ⊆ <List2></code>: returns ''true'' if ''List1'' is subset of ''List2'' | ||
+ | |||
+ | <code><List1> ⊂ <List2></code>: returns ''true'' if ''List1'' is a strict subset of ''List2'' | ||
+ | |||
+ | <code><List1> \ <List2></code>: creates the set difference of ''List1'' and ''List2'' | ||
==Apply Predefined Operations and Functions to Lists== | ==Apply Predefined Operations and Functions to Lists== | ||
− | |||
If you apply [[Predefined Functions and Operators]] to lists, you will always get a new list as a result. | If you apply [[Predefined Functions and Operators]] to lists, you will always get a new list as a result. | ||
===Addition and subtraction=== | ===Addition and subtraction=== | ||
− | * List1 + List2: | + | * <code>List1 + List2</code>: adds the corresponding elements of two lists. {{Note|The two lists need to be of the same length.}} |
− | * List + Number: | + | * <code>List + Number</code>: adds ''Number'' to every element of ''List''. |
− | * List1 – List2: | + | * <code>List1 – List2</code>: subtracts the elements of ''List2'' from corresponding elements of ''List1''. {{Note|The lists need to be of the same length.}} |
− | * List – Number: | + | * <code>List – Number</code>: subtracts ''Number'' from every element of ''List''. |
===Multiplication and division=== | ===Multiplication and division=== | ||
− | * List1 * List2: | + | * <code>List1 * List2</code>: multiplies the corresponding elements of two lists. {{Note|The lists need to be of the same length. If the two lists are compatible matrices, matrix multiplication is used.}} |
− | * List * Number: | + | * <code>List * Number</code>: multiplies every ''List'' element by the given ''Number''. |
− | * List1 / List2: | + | * <code>List1 / List2</code>: divides the elements of ''List1'' by the corresponding elements of ''List2''. {{Note|The two lists need to be of the same length.}} |
− | * List / Number: | + | * <code>List / Number</code>: divides every ''List'' element by ''Number''. |
− | * Number / List: | + | * <code>Number / List</code>: divides ''Number'' by every element of ''List''. |
− | + | {{Note|See also [[Points and Vectors#Vector Product|Vector product]].}} | |
===Other examples=== | ===Other examples=== | ||
− | * List^2: | + | * <code>List ^ 2</code>: squares every element of ''List''. |
− | * 2^List: | + | * <code>2 ^ List</code>: creates a list of powers of two, using the ''List'' elements as exponents. |
− | * List1^List2: | + | * <code>List1 ^ List2</code>: creates a list containing ''a^b'', where ''a'' and ''b'' are corresponding elements of ''List1'' and ''List2''. |
− | * sin(List): | + | * <code>sin(List)</code>: applies the sine function to every element of ''List''. <br> |
+ | User defined [[Functions|functions]] can be applied the same way as well. |
Latest revision as of 15:17, 30 October 2015
Using curly braces you can create a list of several objects (e.g. points, segments, circles).
L = {A, B, C}
gives you a list consisting of three prior defined points A, B, and C.L = {(0, 0), (1, 1), (2, 2)}
produces a list that consists of the entered points and also creates these nameless points.- The short syntax
..
creates a list of successive integers: e.g.-5..5
creates the list {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5}.
- By default, the elements of this list are not shown in the Graphics View.
- Lists can also be used as arguments in list operations (mentioned further in this article) or List Commands.
Accessing Elements of Lists
To access particular elements of a list you can use the Element Command or the simplified syntax shown in the example below:
list = {1, 2, 3, 4, 5}
, then:list(1)
returns the first element of the list: 1list(2)
returns the second element of the list: 2- .../...
list(-1)
returns the last element of the list: 5list(-5)
returns the first element of the list: 1list(0)
returns undefined, as well aslist(k)
for k > 5 or k < -5
Comparing Lists of Objects
You can compare two lists of objects by using the following syntaxes and commands:
List1 == List2
: checks if the two lists are equal as ordered tuples, and yields true or false.List1 != List2
: checks if the two lists are not equal as ordered tuples, and yields true or false.Unique[list1] == Unique[list2]
orlist1 \ list2 == {}
: checks if the two lists are equal as sets (i.e. all repeated elements are ignored, as well as the elements order) and yields true or false.Sort[list1] == Sort[list2]
: checks if the two lists are equal as multisets (i.e. the elements order is ignored) and yields true or false.
See also Unique and Sort commands.
List Operators
<Object> ∈ <List>
: returns true if Object is an element of List
<List1> ⊆ <List2>
: returns true if List1 is subset of List2
<List1> ⊂ <List2>
: returns true if List1 is a strict subset of List2
<List1> \ <List2>
: creates the set difference of List1 and List2
Apply Predefined Operations and Functions to Lists
If you apply Predefined Functions and Operators to lists, you will always get a new list as a result.
Addition and subtraction
List1 + List2
: adds the corresponding elements of two lists.Note: The two lists need to be of the same length.List + Number
: adds Number to every element of List.List1 – List2
: subtracts the elements of List2 from corresponding elements of List1.Note: The lists need to be of the same length.List – Number
: subtracts Number from every element of List.
Multiplication and division
List1 * List2
: multiplies the corresponding elements of two lists.Note: The lists need to be of the same length. If the two lists are compatible matrices, matrix multiplication is used.List * Number
: multiplies every List element by the given Number.List1 / List2
: divides the elements of List1 by the corresponding elements of List2.Note: The two lists need to be of the same length.List / Number
: divides every List element by Number.Number / List
: divides Number by every element of List.
Other examples
List ^ 2
: squares every element of List.2 ^ List
: creates a list of powers of two, using the List elements as exponents.List1 ^ List2
: creates a list containing a^b, where a and b are corresponding elements of List1 and List2.sin(List)
: applies the sine function to every element of List.
User defined functions can be applied the same way as well.