У меня есть функция VBA, и я пытаюсь преобразовать это приложение в Python.
Теперь мне нужно перевести следующий код VBA:
Dim R_SH(1 To 3, 1 To 3) As Double
в Python.
Я попытался написать следующий код Python, но считаю, что это неправильно:
w, h = 2, 3
R_SH = [[0 for x in range(w)] for y in range(h)]
Можем ли мы поддержать меня?
Кроме того, если вы работаете с большим количеством типизированных данных, возможно, вам стоит обратить внимание на numpy, который хорошо работает для типизированных многомерных массивов и обеспечивает более простые операции.






В Python массивы имеют нулевой индекс. Они начинаются с 0, а не с 1.
Чтобы создать эквивалентный массив VBA R_SH(1 To 3, 1 To 3), вам нужно создать массив 3x3 в Python.
В тот момент, когда вы создаете массив 3x2, вот как вы создаете массив 3x3:
w, h = 3, 3
R_SH = [[0 for x in range(w)] for y in range(h)]
Почему вы считаете, что это неправильно? R_SH даст вам двумерный массив ширины
wи высотыh, поэтому установкаw = 3иh = 3даст вам правильный результат.