[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

image
image
image
image

Instructions to use extension


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

image
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.

image
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.

image
Shuffles the given list.

image
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.

image
Get last list item

image
Converts a given list into JSON string.


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

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

image
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.

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

image
Returns a list of all permutations of the given list

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

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

Download

ListUtilz.aix (17.5 KB)

9 Likes

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:

1 Like

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.

grafik

grafik

1 Like

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

I do have SortListAtoZ block and working fine.

image

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

1 Like

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

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

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:

2 Likes

I like a well defined function signature.

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

UPDATED

  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.