for_list
Loop the list of list or dict and create a new list to output.
Description
Loop the list of list or dict and create a new list to output.
Parameters
Parameter |
Type |
Required |
Default |
Comment |
---|---|---|---|---|
expression | expression |
Yes |
- |
Expression of a item for a created list. Item in the loop of list can be referred as item*. Item in the loop of dict can be referred as item*_val and item*_key. For the first loop item can be referred as item0. For the second loop item can be referred as item1. |
filter | expression |
No |
None |
Condition not to add item for a crated list. Loop item can be refereed as same as in expression. |
lists | list[list|dict] |
Yes |
- |
List of list or dict to make a nested loop. Single list or dict can be passed. |
out_bb | bool |
No |
False |
If this parameter is set to True, the data is stored in the blackboard rather than in the flowdata. By default, the key in the blackboard is set to the node name. To customize the key, specify the out_field parameter. |
out_field | str |
No |
None |
The key for the data in the blackboard. If out_bb is set to False, this parameter is ignored. |
Examples
# Create a list from list of list with filter parameter.
# Output: {'for_list': [3, 4, 6]}
- for_list:
name: "for_list"
lists: [[1, 2], [3, 4]]
expression: "item0*item1"
filter: "item0*item1>7"
# Create a list from list of list and dict.
# Output: {'for_list': ['head1:val1', 'head1:val2', 'head2:val1', 'head2:val2']}
- for_list:
name: "for_list"
lists: [["head1", "head2"], {"name1": "val1", "name2": "val2"}]
expression: "item0 + ':' + item1_val"
# Create a list from a single list.
# Output: {'for_list': [2, 4, 6]}
- for_list:
name: "for_list"
lists: [1, 2, 3, 4]
expression: "item0*2"
filter: "item0*2>7"
# Create a list from a dict.
# Output: {'for_list': ["key1-1", "key2-2"]}
- for_list:
name: "for_list"
lists: {"key1": 1, "key2": 2}
expression: "item0_key + '-' + item0_val | str"
# Create a list from nested lists of a dict.
# Output: {'for_list': ["hello, world", "foobar"]}
- for_list:
name: "for_list"
lists: [[{"first": "hello, ", "second": "world"}, {"first": "foo", "second": "bar"}]]
expression: "item0.first + item0.second"