So finden Sie alle Ausdrücke in einem Ausdruck in Sympy

9

Ich habe einen Ausdruck als: 1/(x+1)+4*x/(x-1)+3-4*x**2+10*x**2

Was ich brauche, ist eine Liste, die die Begriffe in diesem Ausdruck enthält.
d.h. [1/(x+1), 4*x/(x-1), 3, -4*x**2 , 10*x**2]

update : Es sollte nicht wie Begriffe gesammelt werden. Daher sollte die Liste 4 * x ** 2 und 10 * x ** 2 getrennt und nicht 6 * x ** 2 nach dem Sammeln von ähnlichen Begriffen haben.

    
harsh 01.06.2016, 10:32
quelle

3 Antworten

1

Wenn Sie anhand der Frage und der Kommentare den Ausdruck als Zeichenfolge abrufen können, können Sie Folgendes tun, wenn Sie die Ausdruckssammlung vermeiden möchten.

%Vor%

Dies wird alle Begriffe zurückgeben, ohne ähnliche Begriffe zu sammeln.

    
Buddhiprabha 02.06.2016, 10:57
quelle
2

Der richtige Weg dazu ist Add.make_args . Das ist dasselbe wie expr.args aus Bjoerns Antwort, außer wenn der Ausdruck kein Add (ein einzelner Begriff) ist, gibt es immer noch diesen Ausdruck, anstatt in diesen Ausdruck zu gehen.

%Vor%     
asmeurer 02.06.2016 22:17
quelle
1

In diesem Fall ist es sehr einfach:

%Vor%     
Bjoern Dahlgren 01.06.2016 11:59
quelle

Tags und Links