У меня есть функция, которая создает список списков. Я сохранил этот список в объекте.
All_Valid_Exp=all_valid(print_numb).copy() # all_valid function generates list
Пример списка такой:
[[True, True, False, True, False, True, False], [True, True, True, False, False, True, False], [True, True, False, True, True, False, False], [True, True, True, False, True, False, False], [True, True, True, True, False, False, False]]
Другая функция часто вызывается в al oop. Он использует этот список и присваивает его локальной переменной. Эта переменная изменяется и обрабатывается функцией.
def map_to_valid(Numb, Op):
Temp=all_valid(print_numb)#all_valid is called everytime this function is
Exp=[]
for i in Temp:
for j in Numb:
i[i.index(True)]=j
for k in Op:
i[i.index(False)]=k
return Temp
Я попытался использовать объект для переменной Local, поскольку созданный список всегда один и тот же.
def map_to_valid(Numb, Op):
Temp=All_Valid_Exp.copy()
Exp=[]
for i in Temp:
for j in Numb:
i[i.index(True)]=j
for k in Op:
i[i.index(False)]=k
return Temp
Я получаю ValueError
: True is not in list
Я думаю, что происходит то, что во второй раз вызывается map_to_valid
, список остается тем же, что и после первой итерации.
Не знаю Я хочу вызывать функцию несколько раз, потому что эффективность программы очень низкая.