Я хочу сделать 2d массив, который содержит нормализованные значения из другого 2d массива.Однако после следующих других уроков / предложений моя функция возвращает TypeError.
Я не думаю, что какие-либо переменные, которые я использую, являются типами, и я изменил имена переменных, но безрезультатно.
def normalize(oldArray): #makes all vectors a ratio of the largest magnitude vector
maxMagnitude = 0
row, column = len(oldArray), len(oldArray[0]) #Gets the Height and Width of Array for conversion
normalized = [[0 for x in range(column)] for y in range[row]] #Initializes the return array as empty
for x in range(len(oldArray)): #searches for maximum magnitude
magnitude = math.sqrt(oldArray[x][0] ^ 2 + (oldArray[x][1] ^ 2) + (oldArray[x][2] ^ 2))
if magnitude > maxMagnitude:
maxMagnitude = magnitude
for x in range(len(oldArray)): #converts all values into ratio of maximum magnitude
magnitude = math.sqrt(oldArray[x][0] ^ 2 + (oldArray[x][1] ^ 2) + (oldArray[x][2] ^ 2))
ratio = magnitude / maxMagnitude
normalized[x][0] = ratio
normalized[x][1] = ratio
normalized[x][2] = ratio
return normalized
Сообщение об ошибке:
newArray = [[0 for x in range(c)] for y in range[r]] #Initializes the return array as empty TypeError: 'type' object is not subscriptable