初始化数量可变的sympy符号

时间:2019-06-16 21:30:02

标签: sympy python-3.7

每当要使用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,... .

1 个答案:

答案 0 :(得分:3)

您可以在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个int整数,则可以这样做

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