On 6/7/2016 8:17 PM, Harrison Chudleigh wrote:
I was programming a computer game and found that while 1D arrays can be
created using the module array, there is no module for two-dimensional
arrays, unlike languages like C. Currently, the closest thing Python has to
a 2D array is a dictionary containing lists.

A list of lists is standard if one is not using numpy, indexed as, for instance 'board[i][j]' A tuple of tuples can be used for static 2d array. I expect people have also used a list of arrays, though for most games, the space saving is not enough, plus a list of list is more flexible, in that one can put a 'piece' on and 'square'.

I propose that a module , 2DArray, be added to the standard library. This
module will include:
Assignment and retrieval on items on a two-dimensional, finite rectangular
grid. Types are integer, float, character and string.
Resizing the grid - parameters are old size and new size. Any new elements
are initialized with a value of 0 for int, 0.0 for float and ' ' for string
and character arrays.
Removing elements. The parameter is the location. After removal, the value
returned is 0 for int, 0.0 for float and ' ' for string and character
arrays.
A function, pop(), which removes elements from the grid and then returns
them.

You could create your own class based on a list of arrays, and even publish it.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to