Получить доступ к отдельным элементам из списка pow и символов sympy python
Я пытаюсь получить доступ к отдельным элементам в длинном списке символов, и один из типов pow, сгенерированных с помощью Sympy, вот как это получается в консоли:
x00
x01
x10
x11
x00
x10
x20
x00
x01
x02
x03
x00
x01
x10
x02
x11
x12
x00
x01
x10
x11
x20
x21
x00
x10
x20
x30
Pow генерируется с помощью
A = (ymat[0])**(nvec[0]-mvec[0]) #alpha term: mu^(n-k)
for nv in range (1, nvariables):
A = A* (ymat[nv]**(nvec[nv]-mvec[nv]))
И символы, использующие:
mstr = str(mvec[0]) #beta term: x^k
for mm in range(1, len(mvec)):
mstr = mstr + str(mvec[mm])
B = Symbol('x'+mstr)
Я пытался использовать индексацию в Python, например, A[1], но я получаю сообщение об ошибке:
TypeError: 'Symbol' object does not support indexing
или же
TypeError: 'Pow' object does not support indexing
Кто-нибудь знает, как я мог получить доступ к отдельным элементам, таким как (1x00)
1 ответ
Символы сравниваются по имени (а также по предположениям, но это не похоже на то, что вы их используете), поэтому вы можете просто воссоздать один и тот же символ, создав его с тем же именем. Так что если вы хотите x00
просто создай Symbol('x00')
снова, и это даст вам то же самое.