Я новичок в Python и думаю, что это должна быть довольно распространенная проблема, но не может найти решение. Я уже просмотрел эту страницу и нашел, что это полезно для одного элемента, но я изо всех сил пытаюсь расширить пример до нескольких элементов, не используя цикл 'for'. Я запускаю этот бит кода для 250 ходоков через Emcee, поэтому я ищу самый быстрый способ.
У меня есть список чисел, a = [x,y,z]
, который я хочу повторить b = [1,2,3]
раз (например), поэтому я заканчиваю списком списков:
[
[x],
[y,y],
[z,z,z]
]
Для цикла "for" у меня есть:
c = [ ]
for i in range (0,len(a)):
c.append([a[i]]*b[i])
Что делает именно то, что я хочу, но означает, что мой код мучительно медленный. Я также попытался наивно превратить a и b в массивы и сделать [a]*b
в надежде, что он будет умножать элемент на элемент, но не радость.