私は文字列のリストを持っています(例:var = ['x', 'y', 'z']
)。私はこれらの文字列をsympyの '記号'として使用したいと思います。私はこれをやろうとしています:文字列のリストをsympy変数に変換するにはどうすればよいですか?
for i in var:
i = symbols('i')
それはもちろん動作していません。誰かがこれで私を助けることができますか?
私は文字列のリストを持っています(例:var = ['x', 'y', 'z']
)。私はこれらの文字列をsympyの '記号'として使用したいと思います。私はこれをやろうとしています:文字列のリストをsympy変数に変換するにはどうすればよいですか?
for i in var:
i = symbols('i')
それはもちろん動作していません。誰かがこれで私を助けることができますか?
することができます「という文字列に記号を割り当てようとしましたので、あなたが動作しませんでしたどのような理由があります(例えば、 'a' = 1は同じ理由で失敗します)。あなたが対話的に作業し、シンボルと同じ名前の変数を希望する場合は
私は「sympyインポート*から」使用している場合
>>> var(','.join(variables)) # variables = ['x', 'y', 'z']
(x, y, z)
いくつかの問題:
sympy.symbols
への呼び出しにより変異されることはありません。var
の各要素を引数としてsymbols
を呼び出して、文字列引数'i'
でコールをハードコーディングする必要があります。i
への代入は無意味です。次の反復ではi
という名前が次の要素var
(これは使用しない場合もあります)に再割り当てされるためです。したがって、symbols
にはすべての要素がvar
であり、戻り値はどこかに格納する必要があります。
>>> import sympy
>>> var_as_strings = ['x', 'y', 'z']
>>> var_as_symbol_objects = [sympy.symbols(v) for v in var_as_strings]
>>> var_as_symbol_objects
[x, y, z]
>>> type(var_as_symbol_objects[0])
<class 'sympy.core.symbol.Symbol'>
(Iは、例えば、自己文書を作成することが過度に冗長な変数名を使用していました。)
を書いて、「シンボルに(V)」ではなく「sympyを書くことができます。記号(v) "、それはまた働くべきであるか。 @timgeb – Push
@PushanSharmaはい – timgeb