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