(Использование python 2)
Мне предложили соединить два моих цикла вместе, чтобы ускорить мой код, который занимал слишком много времени.
Итак, вместо этого:
for timestep in range(0,100):
for xn in xrange(0,npoints):
for step in xrange(0,npoints):
fx=somefunction[xn]+somefunction[step]
print fx
Я использовал это:
for timestep in xrange(0,100):
for step, xn in itertools.product([0,npoints-1],[0,npoints-1]):
fx=somefunction[xn]+somefunction[step]
print fx
, но я получил два совершенно разных результата, когда распечатал свою функцию, fx.
Для вложенного цикла (первый блок кода) я получил список из 999 чисел (правильной длины).
Однако, когда я попытался объединить два цикла (второй блок кода), я получил только четыре из 999 номеров, которые я должен был получить в своем списке.
Я неправильно объединяю цикл for?Есть ли другой способ объединить вложенный цикл for, который все равно поможет ускорить мой код?