Currently, I have made this code
def grid_maker(h,w):
grid = [[[\"-\"] for i in range(w)] for i in range(h)]
grid[0][0] = [\"o\"]
print grid
>
If you want to "pretty" print your grid with each sublist on its own line, you can use pprint:
>>> grid=[[['o'], ['-'], ['-'], ['-'], ['-']], [['-'], ['-'], ['-'], ['-'], ['-']], [['-'], ['-'], ['-'], ['-'], ['-']]]
>>> from pprint import pprint
>>> pprint(grid)
[[['o'], ['-'], ['-'], ['-'], ['-']],
[['-'], ['-'], ['-'], ['-'], ['-']],
[['-'], ['-'], ['-'], ['-'], ['-']]]
It will still show each element as a list, as you defined it, if you want to show them as strings you'll have to use joins like m.wasowski suggests.