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