2
Sympyを使ってx^0からx^n(特にn = 9)から基本単項式のリストを生成したいと考えています。私の迅速な解決にはPythonのラムダ関数の構文と組み合わせたシンプルなリスト内包である:Sympyとlambda関数
print([f(x) for f in monomials])
>>> [x**9, x**9, x**9, x**9, x**9, x**9, x**9, x**9, x**9, x**9]
私はせずにmonomials
を再定義する場合:私は予想通りmonomials
が構築されていることを確認したときに、しかし
import sympy as sym
x = sym.symbols('x')
monomials = [lambda x: x**n for n in range(10)]
、私はそれを見つけますラムダ構文を使用して、私は別の方法で期待するものを得ます:
monomials = [x**n for n in range(10)]
print(monomials)
>>> [1, x, x**2, x**3, x**4, x**5, x**6, x**7, x**8, x**9]
なぜこの現象が発生しますか?
仕様:
- のPython 3.5.1
- Sympy 1.0
私はアナコンダ2.5.0(64ビット)パッケージマネージャを使用しています。