初始化可变数量的 sympy 符号

Initialize a variable number of sympy symbols

每当你想使用 python 包 sympy,一个用于符号计算的包,你需要将变量初始化为

x, y, z = symbols('x y z')

对于我的应用程序,我需要的符号数量不是固定的。我只有信息,我必须用例如计算4 个变量。

有没有一种聪明的方法可以写信给例如初始化

a,b,c = symbols('a b c')

当我需要三个变量并且

a,b,c,d,e = symbols('a b c d e')

什么时候需要五个变量? 如果我需要比字母表​​中的字母更多的变量, 该函数应该开始初始化

aa, ab, ac,... .

您可以在 symbols 中使用切片符号来创建编号符号,例如

In [16]: symbols('a1:100')                                                                                                        
Out[16]: 
(a₁, a₂, a₃, a₄, a₅, a₆, a₇, a₈, a₉, a₁₀, a₁₁, a₁₂, a₁₃, a₁₄, a₁₅, a₁₆, a₁₇, a₁₈, a₁₉, a₂₀, a₂₁, a₂₂, a₂₃, a₂₄, a₂₅, a₂₆, a₂₇, a
₂₈, a₂₉, a₃₀, a₃₁, a₃₂, a₃₃, a₃₄, a₃₅, a₃₆, a₃₇, a₃₈, a₃₉, a₄₀, a₄₁, a₄₂, a₄₃, a₄₄, a₄₅, a₄₆, a₄₇, a₄₈, a₄₉, a₅₀, a₅₁, a₅₂, a₅₃,
 a₅₄, a₅₅, a₅₆, a₅₇, a₅₈, a₅₉, a₆₀, a₆₁, a₆₂, a₆₃, a₆₄, a₆₅, a₆₆, a₆₇, a₆₈, a₆₉, a₇₀, a₇₁, a₇₂, a₇₃, a₇₄, a₇₅, a₇₆, a₇₇, a₇₈, a₇
₉, a₈₀, a₈₁, a₈₂, a₈₃, a₈₄, a₈₅, a₈₆, a₈₇, a₈₈, a₈₉, a₉₀, a₉₁, a₉₂, a₉₃, a₉₄, a₉₅, a₉₆, a₉₇, a₉₈, a₉₉)

然后如果你想要 n 个符号,其中 n 是一个整数,你可以这样做

syms = symbols('a1:%d' % n)