2016-08-17 9 views
0

私はオブジェクトのタプルの中にコスト値を追加しようとしています。私は、forループを使用して試してみましたが、次のようにも合計を使用して試してみました:Pythonのsumとforループが長すぎます

にも合計を使用してみました
def cost_from_start(self, path): 
    cost = -1 
    for node in path: 
     cost+=node.cost 
    return cost 

(Arc(label='no action', cost=0), Arc(label='SW', cost=1), Arc(label='SW', cost=1), Arc(label='W', cost=1)) 

def cost_from_start(self, path): 
    return sum(arc.cost for arc in path) 

オブジェクトのタプルは次のようになります

すべてのコスト値は、最初のオブジェクトを除く各オブジェクトに対して1になります。

しかし、これらの両方は、非常に大きなタプルには長すぎます。コストの値を加算する方法はありますか?

答えて

1

タプルを配列に変換してsumを使用すると、numpyを使用してみてください。タプルの名前がtの場合、

import numpy as np 

the_sum = np.sum(np.array(t)[:, 1].astype(int)) 
関連する問題