У меня есть часть кода, которая выполняет нечто аналогичное следующему:
import numpy as np
N = 10
test = [1] * N
np.random.seed(123)
norm = np.random.rand(N)
my_dic = {(k, kk):np.random.rand(1) for k,_ in enumerate(test) for kk in range(5)}
for i, _ in enumerate(test):
test[i] *= norm[i]
for j in range(5):
test[i] *= my_dic[(i, j)]
Поскольку оба цикла модифицируют список, есть ли способ перевести это для понимания списка?Я пробовал варианты следующих безуспешно:
import numpy as np
N = 10
test = [1] * N
np.random.seed(123)
norm = np.random.rand(N)
my_dic = {(k, kk):np.random.rand(1) for k,_ in enumerate(test) for kk in range(5)}
test = [val for val in norm]
test = [test[i] * my_dic[(i, j)] for i, _ in enumerate(test) for j in range(5)]