Доброе утро,
Я искал в интернете способ составить список или таблицу с двумя индексами. В настоящее время я построил код для 1 индекса, равный mass = list(range(0,value(m.n)+1))
, и заполняю этот список этим выражением mass[i] = value(m.mass[i])
.
Но теперь я должен ввести еще одну переменную с двумя индексами в виде x[i,j] = value(m.x[i,j])
. Я пробовал с x = []*value(m.ph)
. Но я хочу получить что-то вроде x = [value(m.n)]*value(m.ph)
, чтобы утверждать, что у меня есть таблица. значения (m.n) в виде строк и фаз (m.ph) в виде столбцов.
Целью этого является отображение этих переменных с помощью этой функции plt.plot(time,x)
. Подумайте, можно ли будет создать такой список, таблицу или матрицу, как вы хотите это назвать, но будет очень полезно узнать это, потому что я застрял из-за этого.
Мой код выглядит следующим образом:
n = Param(initialize = 10, within = Integers)
N = Set(initialize = range(0,value(m.n)+1))
#What I got
x1 = [0,1,2,3,4,5,6,7,8,9,10]
x = list(range(0,value(m.n)+1))
for i in m.N:
x[i] = x1[i]
#What I try to do
ph = Param(initialize = 2, within = Integers)
Ph = Set(initialize = range(0,value(m.n)+1))
x2 = [[0,0],[1,1],[2,2],[3,3],[4,4]]
x = []*value(m.ph)
for i in m.N:
for j in m.Ph:
x[i,j] = x2[i,j]
Ошибка выглядит следующим образом:
File "C:/Users/Manuel/Desktop/StackExample.py", line 38, in <module>
x[i,j] = x2[i,j]
TypeError: list indices must be integers or slices, not tuple
Большое вам спасибо.
РЕДАКТИРОВАТЬ: я хочу создать список с двумя индексами в Python, чтобы эти индексы имели длину, необходимую для длины, определяемой m.n = Param(initialize = 32, within = Integers)
и m.ph = Param(initialize = 2, within = Integers)
.