Причина, по которой вы получаете ошибку, состоит в том, что вы пытаетесь присвоить спискам значение индекса, а не назначаете им местоположение в списке.
x_train = []
x_train[0] = 'BOB'
выход
IndexError: list assignment index out of range
Это не работает, потому что в списке еще не определено 0-е место. если вы сделали:
x_train = []
x_train.append('BOB')
x_train[0] = 'Mary'
print(x_train)
выход: * +1010 *
['Mary']
Затем вы можете присвоить значение 0-му месту в списке, поскольку оно существует.
Это работает, если это то, что вы ищете:
x_train = [None] * 10
x_train[3] = 'Mary'
print(x_train)
Выход:
[None, None, None, 'Mary', None, None, None, None, None, None]