verimli bir şekilde verimli bir şekilde bir etiket dizisinden python 2.7'deki etiketlere karşılık gelen denklemlere nasıl geçebilir?'Etiketler' dizisinden, Python 2.7 içindeki etiketlere karşılık gelen denklem dizisine taşıyın
Bu görüntü ne demek gösterilmektedir:
denklemler x olacağını dizisi x değerleri çekmek, böylece piton açısından görüntüde "xn" [n]. Örnek olarak, etiket dizisindeki 0 girişi, 1 + x [1 + x [1] olacak denklemlere karşılık gelen "a" dır. Sırada x [1] * 2 olan "b" dir.
Bunu başarmanın pek çok yolu var, ancak verimliliğe odaklanmak istiyorum. Gerçek dizilerin binlerce unsuru vardır ve bu işlem binlerce kez (benim modelimde her zaman) gerçekleştirilir. X dizisi her seferinde farklı olacaktır. Aslında yaptığım şey, çeşitli sınır koşullarına dayanan bir çapraz matrisin köşegenlerini oluşturmak.
Herkes bir anahtar kutusuyla her bir dizide tüm dizi boyunca yinelemekten daha iyi bir fikir verebilir mi?
'''
Equations corresponding to various labels
a -> 2+x[n]
b -> 3*x[n-1]+2x[n]
c -> 4*x[n]
These are just dummy equations I am making up for the example
'''
x = [4,7,6,6,9,12,4,9,1,11]
labelArray = ['a','b','b','b','c','c','a','b','b','c']
outputArray = []
n = 0
for label in labelArray:
if label == 'a':
output = 2+x[n]
elif label == 'b':
output = 3*x[n-1]+2*x[n]
elif label == 'c':
output = 4*x[n]
outputArray.append(output)
n += 1
print outputArray
# outputArray = [6, 26, 33, 30, 36, 48, 6, 30, 29, 44]
, kullanım düşünmek 'dict' – woozyking