# Indexing a list with a list

I know this is not officially supported, but I was wondering if anyone had any clever workarounds for building an array out of multiple lists.

I built a correctness checker that determines if a student’s graph intersects various circles. However, the method I used requires me to write the index for each circle… which works, but ideally it would be more condensed using the length of the list. That way I can add as many circles as I need without adding more correctness checkers.

https://www.desmos.com/calculator/4o2eqdyzcx

I don’t have a solution in general, but you can resolve the difficulty in your graph by creating a function where the inputs act as the index of checker values. See array no- fail to see how I modified your code.

2 Likes

Very nice! I had already setup to use it as an index, but I did not think to create it as it’s own function. I was also able to extend it more generally by using summation / integral.

I know this is old, but you could do something similar to what I did with this Dot Grid. First, create a concatenated list (A) of X repeated length(Y) times. Then, create list B from list Y repeated length(X) times, and order this list. Now, (A,B) will be all combinations of an XY array.

https://www.desmos.com/calculator/tp2lsxdmkk

If you need a specific index (X,Y) it would be (Y-1)length(X)+X

Here’s what I came up with. Hope it still might be useful for something else.

Pseudo Array using two lists

Thanks for sharing.

I have had a need for a “pseudo array” on several occasions for different activities I built. I can’t think of one off the top of my head at the moment, but I will surely refer back to this when the time inevitably comes.

This is just what I was looking for!! Do you have an idea of how you could transform that into a triangle grid? or add snap to grid segments?

This thread uses the geometry tools to make an isometric grid. Depends on your purpose. Snap to grid is pretty easy for points that use variables with sliders. You need to be a little more specific or share an activity (maybe start a new topic).