AI2 Lists
List Blocks
- create empty list
- make a list
- add items to list
- is in list
- length of list
- is list empty
- pick a random item
- index in list
- select list item
- insert list item
- replace list item
- remove list item
- append to list
- copy list
- is a list?
- list to csv row
- list to csv table
- list from csv row
- list from csv table
- lookup in pairs
Need additional help understanding lists? Check out making lists on the Concepts page.
create empty list
Creates an empty list with no elements.
make a list
Creates a list from the given blocks. If you don't supply any arguments, this creates an empty list, which you can add elements to later.
This block is a mutator. Clicking the blue plus sign will allow you to add additional items to your list.
add items to list
Adds the given items to the end of the list.
The difference between this and append to list is that append to list takes the items to be appended as a single list
while add items to list takes the items as individual arguments. This block is a mutator.
is in list?
If thing is one of the elements of the list, returns true; otherwise, returns false. Note that if a list contains sublists,
the members of the sublists are not themselves members of the list. For example, the members of the list (1 2 (3 4)) are 1, 2, and the list (3 4); 3 and 4 are not themselves members of the list.
length of list
Returns the number of items in the list
is list empty?
If list has no items, returns true; otherwise, returns false.
pick a random item
Picks an item at random from the list.
index in list
Returns the position of the thing in the list. If not in the list, returns 0.
select list item
Selects the item at the given index in the given list. The first list item is at index 1.
insert list item
Inserts an item into the list at the given position
replace list item
Inserts replacement into the given list at position index. The previous item at that position is removed.
remove list item
Removes the item at the given position.
append to list
Adds the items in the second list to the end of the first list.
copy list
Makes a copy of a list, including copying all sublists.
is a list?
If thing is a list, returns true; otherwise, returns false.
list to csv row
Interprets the list as a row of a table and returns a CSV (comma-separated value) text representing the row.
Each item in the row list is considered to be a field, and is quoted with double-quotes in the resulting CSV text. Items are separated by commas.
For example, converting the list (a b c d) to a CSV row produces ("a", "b", "c", "d").
The returned row text does not have a line separator at the end.
list from csv row
Parses a text as a CSV (comma-separated value) formatted row to produce a list of fields.
For example, converting ("a", "b", "c", "d") to a list produces (a b c d).
list to csv table
Interprets the list as a table in row-major format and returns a CSV (comma-separated value) text representing the table.
Each item in the list should itself be a list representing a row of the CSV table.
Each item in the row list is considered to be a field, and is quoted with double-quotes in the resulting CSV text.
In the returned text, items in rows are separated by commas and rows are separated by CRLF (\r\n).
list from csv table
Parses a text as a CSV (comma-separated value) formatted table to produce a list of rows, each of which is a list of fields.
Rows can be separated by newlines (\n) or CRLF (\r\n).
lookup in pairs
Used for looking up information in a dictionary-like structure represented as a list.
This operation takes three inputs, a key, a list pairs, and a notFound result, which by default, is set to "not found".
Here pairs must be a list of pairs, that is, a list where each element is itself a list of two elements.
Lookup in pairs finds the first pair in the list whose first element is the key, and returns the second
element. For example, if the list is ((a apple) (d dragon) (b boxcar) (cat 100)) then looking up 'b' will return 'boxcar'.
If there is no such pair in the list, then the lookup in pairs will return the notFound result. If pairs is not a list of
pairs, then the operation will signal an error.