data_structures.arrays.index_2d_array_in_1d

Retrieves the value of an 0-indexed 1D index from a 2D array. There are two ways to retrieve value(s):

1. Index2DArrayIterator(matrix) -> Iterator[int] This iterator allows you to iterate through a 2D array by passing in the matrix and calling next(your_iterator). You can also use the iterator in a loop. Examples: list(Index2DArrayIterator(matrix)) set(Index2DArrayIterator(matrix)) tuple(Index2DArrayIterator(matrix)) sum(Index2DArrayIterator(matrix)) -5 in Index2DArrayIterator(matrix)

2. index_2d_array_in_1d(array: list[int], index: int) -> int This function allows you to provide a 2D array and a 0-indexed 1D integer index, and retrieves the integer value at that index.

Python doctests can be run using this command: python3 -m doctest -v index_2d_array_in_1d.py

Classes

Index2DArrayIterator

Functions

index_2d_array_in_1d(→ int)

Retrieves the value of the one-dimensional index from a two-dimensional array.

Module Contents

class data_structures.arrays.index_2d_array_in_1d.Index2DArrayIterator
__iter__() collections.abc.Iterator[int]
>>> tuple(Index2DArrayIterator([[5], [-523], [-1], [34], [0]]))
(5, -523, -1, 34, 0)
>>> tuple(Index2DArrayIterator([[5, -523, -1], [34, 0]]))
(5, -523, -1, 34, 0)
>>> tuple(Index2DArrayIterator([[5, -523, -1, 34, 0]]))
(5, -523, -1, 34, 0)
>>> t = Index2DArrayIterator([[5, 2, 25], [23, 14, 5], [324, -1, 0]])
>>> tuple(t)
(5, 2, 25, 23, 14, 5, 324, -1, 0)
>>> list(t)
[5, 2, 25, 23, 14, 5, 324, -1, 0]
>>> sorted(t)
[-1, 0, 2, 5, 5, 14, 23, 25, 324]
>>> tuple(t)[3]
23
>>> sum(t)
397
>>> -1 in t
True
>>> t = iter(Index2DArrayIterator([[5], [-523], [-1], [34], [0]]))
>>> next(t)
5
>>> next(t)
-523
matrix: list[list[int]]
data_structures.arrays.index_2d_array_in_1d.index_2d_array_in_1d(array: list[list[int]], index: int) int

Retrieves the value of the one-dimensional index from a two-dimensional array.

Args:
array: A 2D array of integers where all rows are the same size and all

columns are the same size.

index: A 1D index.

Returns:

int: The 0-indexed value of the 1D index in the array.

Examples: >>> index_2d_array_in_1d([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]], 5) 5 >>> index_2d_array_in_1d([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]], -1) Traceback (most recent call last):

ValueError: index out of range >>> index_2d_array_in_1d([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]], 12) Traceback (most recent call last):

ValueError: index out of range >>> index_2d_array_in_1d([[]], 0) Traceback (most recent call last):

ValueError: no items in array