Как использовать условный оператор if для изменения элемента строки - python - PullRequest
0 голосов
/ 14 января 2012

Мне нужна помощь с условным обновлением оператора и строк.

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)]

Редактировать: лучший пример dataSet ...

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)]

Нужно

   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)]

1 Ответ

2 голосов
/ 14 января 2012
>>> [('%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)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...