값으로리스트를 구비 할 때 :대하여 반복 사전이 코드가
import numpy as np
from sympy import sympify
class myclass():
def __init__(self, expression ='', values = {}):
self.expression = expression
self.values = values
def execute(self):
expr = sympify(self.expression)
for v in self.values:
expr = expr.subs(str(v),self.values[v])
self.result = expr.evalf()
return self.result
입력으로서 사전을 갖는 경우 식을 실행한다. 이 데이터와
:
values = {'c':1, 'd':2}
print(myclass('c + d',values).execute())
내가 받고 오전 : 3 맞습니다. ? 이제
, 나는이 데이터가 방법이있다 : 나는 여부를 확인하기 위해 execute
fuction를 변경 싶지 않아,
values = {'c':[1,2], 'd':[3,4]}
execute
를 호출하고 결과를 참고를 얻기 위해 내가 목록을 작성한 다음 루프를 추가하십시오. 사전 내부의 중첩 된리스트로의
for k, v in thevalues.items():
for i in v:
print(myclass('c + d',.......).execute())
I에서 아마도 당신이'{{ 'c': 1, 'd': 3}, { 'c': 2, 'd': 4} '와 같은 딕트리스트로 바꾸고 싶다고 생각하십니까? v.zip (* values.values ())))'에 대해'map (dict, (zip (values.keys(), v)를 사용하면 목록을 얻을 수 있습니다. 그러면 목록을 반복하여 각 값을 class + execute 함수. –
@PaulRooney : 고마워요, 전나무 아이디어, 이것도 작동합니다. – George