Я пытаюсь создать индексированный 2D-массив в Python, но продолжаю сталкиваться с ошибками, так или иначе.
Следующий код:
#Declare Constants (no real constants in Python)
PLAYER = 0
ENEMY = 1
X = 0
Y = 1
AMMO = 2
CURRENT_STATE = 3
LAST_STATE = 4
#Initilise as list
information_state = [[]]
#Create 2D list structure
information_state.append([PLAYER,ENEMY])
information_state[PLAYER].append ([0,0,0,0,0])#X,Y,AMMO,CURRENT_STATE,LAST_STATE
information_state[ENEMY].append([0,0,0,0,0])#X,Y,AMMO,CURRENT_STATE,LAST_STATE
for index, item in enumerate(information_state):
print index, item
information_state[PLAYER][AMMO] = 5
Создает этот вывод:
0 [[0, 0, 0, 0, 0]]
1 [0, 1, [0, 0, 0, 0, 0]]
IndexError: list assignment index out of range
Я привык использовать массивы PHP, например:
$array['player']['ammo'] = 5;
Есть ли что-нибудь подобное в Python? Я слышал, как люди рекомендуют NumPy, но я не мог понять это: (
Я новичок в этом Python.
Примечание. Использование Python 2.7