Я grandfathered код, который работает имеет список:Python оценки функцию, основанную на содержании списка
A = [ 's1', 's2', 's3', 's1' ] #the actual size is about 200
B = [ 1, 2, 13, 4 ] #same size as A
s1, s2, s3 переменные определены на лету:
s1 = 5
s2 = 3
s3 = 13
Я функция определяется как:
def fun1(s, arg2):
return s * numpy.random.normal(0, 1, (200, arg2))
арг2 в вышеупомянутой функции происходит из массива B, соответствующий S1 выбран
Я хочу, чтобы генерировать C таким образом, что:
C = [ fun1(s1,1), fun1(s2,2), fun1(s3,13), fun1(s1,4) ] #C can be list or collection of arrays, not sure about the best data structure for C
Я бы сказал 'izip' вместо' zip', иначе +1 – Vlad
Я не сталкивался с 'izip' - это более эффективно? – gtlambert
[Зависит] (http://stackoverflow.com/questions/4989763/when-is-it-better-to-use-zip-instead-of-izip). 'izip()' является версией генератора, поэтому он не будет создавать фактический список. Учитывая, что вы передаете его в список, вам не нужен фактический список в виде zip-файлов, вы все равно откажетесь от него. – Vlad