【发布时间】:2021-12-23 23:00:41
【问题描述】:
在 Python (Collab) 中,我有以下变量 c:
array([x_1 > 1000, y_1 < x_1 + 1], dtype=object)
其中x_1 > 1000 和y_1 < x_1 + 1 是z3 (py) 变量/谓词。我想完全访问它的“第一个元素”:数组/列表[x_1 > 1000, y_1 < x_1 + 1],但我没有能力。
这些是我所做的尝试:
-
c[0]产生x_1 > 1000(当然,c[1]产生y_1 < x_1 + 1)。 -
a, b = c再次产生a为x_1 > 1000和b改为y_1 < x_1 + 1。 -
c.0会产生错误(很明显,c.1也会产生错误)。
我想访问数组的那个元素的原因是我想以自动方式执行以下 z3 计算:
And([x_1 > 1000, y_1 < x_1 + 1])。所以最好做类似And(c[0])的东西。
这可能是初学者的错误,但我看不到。有什么帮助吗?
编辑:
请注意,问And(c[0]) 的问题是我在做And(x_1 > 1000),而我想执行:And(x_1 > 1000, y_1 < x_1 + 1)(即,显然是And(c[0],c[1])。
【问题讨论】:
-
当您执行
And(c[0])时会发生什么? -
结果是单参数连词,我已经编辑帖子显示了。