2012-01-14 9 views
0

条件付きif文と行の更新に関するヘルプが必要です。条件のif文を使用して行の要素を変更する方法はPython

data = [("aa",1,.500,1), ("bb",3,000,1), ("cc",2,.750,1)] 


    foo = [] 
    bar = [] 
    Rdata = 15 
    for row in data: 
      if row[1] < Rdata: 
       foo.append(row) # creates foo table 

    #need help after this point    
    for row in foo: 
     if row[2] > 0: 
      bar.append(row) 

どのように私は、出力テーブルを作成してください

bar = [("aa1.5",1,.500,1), ("bb3",3,000,1), ("cc2.75",2,.750,1)] 

編集:、データセットのより良い例...

data2 = [(3,4,6,"aa","ab",1,.500,1,2,3), (1,2,1,"bb","ba",3,000,1,2,2), (4,5,5,"cc","cb",2,.750,1,2,3)] 

ABため

data2 = [(3,4,6,"aa1.5","ab1.5",1,.500,1,2,3), (1,2,1,"bb3","ba3",3,000,1,2,2), (4,5,5,"cc2.75","cb2.75",2,.750,1,2,3)] 

答えて

2
>>> [('%s%s' % (x[0], x[1] + x[2]),) + x[1:] for x in data] 
[('aa1.5', 1, 0.5, 1), ('bb3', 3, 0, 1), ('cc2.75', 2, 0.75, 1)] 
+0

作品が必要しかし、whatif要素'aa 'は10のうち5の位置にあります。 – Merlin

+0

次に、 'x [0]'を 'x [4]'に変更します。インデックス作成はまだインデックス作成中です。 –

+0

実際のデータのより良い例として、データセット2を追加しました。私の考えはifを使うことでしたが、私はより良いインデックス作成が好きです。 – Merlin

関連する問題