当我执行附加的代码时,一切正常,除了“return(exec(string))”部分。我无法让它返回我正在寻找的{1}的相互价值。
我已经尝试过“返回(eval(string))”,而这也不起作用。
def match(listoflists):
string = ""
if len(listoflists) > 1:
i = 0
while i < len(listoflists):
string = string + " & set(listoflists[" + str(i) + "])"
i += 1
string = string[3:]
return(exec(string))
match([[1, 2, 3], [1, 7, 8], [1, 4, 5], [1, 6, 9]])
预期结果为{1}。实际结果是没有返回任何内容。
是的,我提出了这个问题,但我找到了解决方案并且只是想分享它,以免浪费任何人的时间。我所做的就是改变线条:
string = string[3:]
return(exec(string))
至:
string = "print(" + string[3:] + ")"
return(exec(string))
这是一种享受,返回{1}的预期值