की सूची में प्रतिशत परिवर्तनों की गणना करने का सबसे पायथन तरीका क्या है मेरे पास फ्लोटिंग पॉइंट नंबरों की एक सूची है और मैं अपनी पहली सूची से अवधि रिटर्न की एक और सूची उत्पन्न करना चाहता हूं।संख्या
इस चक्की कार्यान्वयन का एक रन (नहीं परीक्षण किया - और स्पष्ट रूप से कोई त्रुटि जाँच/हैंडलिंग) है:
a = [100,105,100,95,100]
def calc_period_returns(values, period):
output = []
startpos, endpos = (period, len(values)-1)
while True:
current = values[startpos]
previous = values[startpos-period]
ret = 100*((current-previous)/(1.0*previous))
output.append(ret)
startpos += period
if startpos > endpos:
break
return output
calc_period_returns(a,1)
# Expected output:
# [5.0, -4.7619047619047619, -5.0, 5.2631578947368416]
वहाँ ऐसा करने का एक और अधिक pythonic तरीका है - शायद सूची समझ और नक्शे का उपयोग?
वांछित आउटपुट क्या है कर रहे थे? –
@RomanBodnarchuk: मैंने अपेक्षित आउटपुट –
के साथ प्रश्न को अद्यतन किया है उत्तर में अपडेट देखें। –