Как преобразовать список x-d в массив?Python

Программы на Python
Anonymous
Как преобразовать список x-d в массив?

Сообщение Anonymous »

Из других вопросов я знаю, как преобразовать одномерный список в массив. Функция «Магазин» внутри может завершить это. Однако мне хотелось бы получить общий метод выполнения этой работы.
Вот пример, поясняющий мой вопрос:

Код: Выделить всё

i, j = Ints('i j')
VG = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
A = Array('A',IntSort(),ArraySort(IntSort(), IntSort()))
Мне нужно сделать массив A равным списку VG, потому что я добавлю некоторые ограничения, подобные этим:

Код: Выделить всё

s = Solver()
s.add(FORALL([i,j],Implies(And(i>=0, i=0, j=0)))
Если я использую для этого список L:

Код: Выделить всё

s.add(FORALL([i,j],Implies(And(i>=0, i=0, j=0)))
z3 сообщил ниже сообщения об ошибках:

Код: Выделить всё

s.add(ForAll([i,j],Implies(And(i>=0, i=0, j=0)))
~~^^^
TypeError: list indices must be integers or slices, not ArithRef
Я искал информацию об этом сообщении об ошибке при переполнении стека, например об этой ошибке с квантификатором в Z3Py, поэтому я хочу использовать этот метод для решения своего вопроса. Но когда в списке больше измерений, этот метод, похоже, не работает.
Я не знаю, сколько измерений имеет список, и я не знаю размера каждого измерение в массиве. Все, что у меня есть, это просто список, такой как «VG» выше. Мне нужно получить результат для некоторых ограничений, таких как «VG[j]>0», и как его решить? Есть ли лучшие методы?

Подробнее здесь: https://stackoverflow.com/questions/784 ... o-an-array

Вернуться в «Python»