有没有办法表达一个涉及向量和对它们的操作的符号表达式而不评估它们?
from sympy import symbols, acos, MatrixSymbol, Matrix
rA = MatrixSymbol("r^A", 2, 1)
rB = MatrixSymbol("r^B", 2, 1)
rA, rB = Matrix(rA), Matrix(rB) # Basically I want to skip this step
acos((rA.dot(rB)) / rA.norm())
Run Code Online (Sandbox Code Playgroud)
这将计算表达式为:
?r_00__A?r_00__B + r_10__A?r_10__B ?
acos???????????????????????????????????
? _________________________ ?
? ? 2 2 ?
? ?? ?r_00__A? + ?r_10__A? ?
Run Code Online (Sandbox Code Playgroud)
但相反,我希望它评估为这样的东西,同时仍然能够在以后替换符号向量。
? r_A?r_B ?
acos???????????
? ||r_A|| ?
Run Code Online (Sandbox Code Playgroud) 我是python的新手,基本上我需要过滤并获取listB中存在的listA中的所有项目.
listA = ['cat','dog','cow']
listB = ['sentence 1','sentence 2 contains cat','sentence 3',
'sentence 4','sentence 5','sentence 6 contains dog']
result = ['sentence 2 contains cat','sentence 6 contains dog']
Run Code Online (Sandbox Code Playgroud)