[FREE] ListUtilz Extension - A powerful lists management extension

Short description

A powerful list utilities extension to work with lists with multiple functions.

Pictures of all the blocks


Instructions to use extension

Use this block to sort a given list alphabetically. It also considers integers and sort in natural sorting order.

Use this block to sort given list of integers in increasing order. No matter the list item is a single digit or multiple digit. It also supports negative values.

Reverses the given list.

Search in a given list with a specific keyword and get all items containing the given keyword. Useful for filtering list or making search system.

Shuffles the given list.

Returns duplicate items as a list.

GetOccurrences block will return the count of item in a list (how many times it is in the list) and index block will return the indices of these items.

Get integer list from 1 to given n

Get minimum and maximum number from a given integer list.

Get last list item

Converts a given list into JSON string.

Compare given two lists and returns true if matches else false.

Returns a new list containing the union of two lists (combines the elements from both input lists, removing any duplicates).

Returns a new list containing the distinct (unique) elements from the given list.

Returns a new list containing the intersection of given lists (a new list containing the common elements present in all input lists). Accepts multiple lists.

Returns a slice (part) of the given list from the start index (inclusive) to the end index (exclusive).

Returns a list of all permutations of the given list

Returns a list of possible combinations of elements from the given list and combination size.

RemoveItems from start index to end index and return filtered list.


Added a new block FilterListAsync to filter list asynchronously.

Now FilteredList event will return filtered list as well as their indices.


v3 ListUtilz.aix (20.5 KB)


Thanks for the extension, but most of these blocks do the same thing as the built-in blocks in ai2...a few of your blocks do pretty much the same thing, so it makes no sense to double them, like getList1toN and getlistSlice.

Only few blocks do the same thing as of inbuilt blocks. But most of the functions are added to make the work easier, I have added them to make this extension more useful and may someone gets it useful specially new users.

This makes sense I think!

Maybe you should choose a different name for your extension since one already exists:


Hmm, agree but now let it be as this requires many changes in code as well as here.

Anyways original ListUtils extension has only few functions.




Are these from my extension? my extension dont have sort list with sort order block.

I do have SortListAtoZ block and working fine.


it's from another extension with same name. That's why @Anke ask you to change to another name.


Ahh, ok I got it. I will make some changes. Thanks.

Yes, the first one (and you should actually know that yourself :wink:).

1 Like

I got confused about second block.

I have updated the name and topic.

I'm sorry, I hate to break it to you, but almost every single block in this extension can be replicated with built-in blocks. Here is my approach in some of the blocks, there are still more that I haven't tried but can be replicated. Still, nice effort. (gave a like)

1 Like

I agree, most of the things can be done without extension, but the only difference is extension makes it easier in few blocks as inbuilt blocks need some complicated logic and for pro Koders like us don't need extension.

Anyone who find this useful can use. :sweat_smile:

I can see your efforts in above blocks!

If any single block from my extension finds useful for anyone, that's enough for me. At least it makes me feel I have not wasted my time. :wink:


I like a well defined function signature.

I might copy your interfaces in blocks, while continuing to avoid extensions in my samples.


  1. Filter List functions updated to return result directly as well as in event.
  2. GetListIntersection function now accepts multiple lists.
  3. GetListUnion function now accepts multiple lists.
  4. Added new block RemoveItems.

Updated v2


Added 2 new blocks.

Get First n items and Get last n items to get first specified number of items and last specified number of items from the given list respectively.