2016-12-26 407 views
-3

我試圖將一個javascript模塊轉換爲python。而且我對JavaScript不太瞭解。下面是對我來說很困惑的js行。可以請一位擅長這兩種語言的人幫助我。將JavaScript的代碼轉換爲python

for(i=0; i<res.response.length;i++) 

     for (var key in temp['sal_changes'][0]['sal_by_per']) 
     { 
      res.response[i]['sal_changes'][0]['sal_by_per'][key.replace(' ','_')]=(res.response[i]['sal_changes'][0]['sal_by_per'][key].toFixed(2))/1; 
      change.push(temp['sal_changes'][0]['sal_by_per'][key]) 
     } 
     totalchange=change.reduce(function(pv, cv) { return pv + cv; }, 0); 
    } 

另外即時通訊使用python 2.7 reduce函數不可用。

我想Python代碼爲低於2行的js代碼:

res.response[i]['sal_changes'][0]['sal_by_per'][key.replace(' ','_')]=(res.response[i]['sal_changes'][0]['sal_by_per'][key].toFixed(2))/1; 

totalchange=change.reduce(function(pv, cv) { return pv + cv; }, 0); 
+0

的Python 2.7具有減少功能。 https://docs.python.org/2/library/functions.html#reduce – arsho

+0

這個'reduce'可以被'sum'取代。 – Daniel

回答

0

也許,tempres.response[i]是同一個對象,導致

sal_by_per = temp['sal_changes'][0]['sal_by_per'] 
totalchange = sum(sal_by_per.values()) 
+0

temp和res.response [i]只有滿足條件時纔是相同的 – Rachel