[英]How to use list value as the dictionary indices in Z3py
我有一個 python 數組(Arr),其中 j 個 integer 元素,一個 Z3 列表(X),其值為 z3 Int 變量和一個 Z3 字典(D),其值為 Z3 Bool 變量。
例如:
X = [ [ x_0_0, x_0_1, …, x_0_j], [ x_1_0, x_1_1, …, x_1_j], … [ x_i_0, x_i_1, …, x_i_j] ] X[0] = Arr /* Arr is python integer array */ D = { (x, i, j): D_x_i_j } for all i and j, and where x is the value present at X[i][j] location.
X[i 1 ][j] 的剩余值由求解器根據 D 值決定,即真/假,其中 1<=i 1 <=i。
現在這些求解的 X 值是 D 字典的鍵值。
因此,我想將這些值用作字典的鍵索引。
我的問題是如何使用 Z3 列表值作為 Z3 字典的鍵值或另一個 z3 列表的索引?
您可以將列表轉換為tuple
。 Tuples
是可散列的,因此是有效的字典鍵。
d = {(x, i, j): D_x_i_j}
X[0] = Arr # [x, i, j]
key = tuple(X[0])
print(d[key]) # yields D_x_i_j
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.