List . python, массив, список

очень нужно решить такой вопрос. Я имею список размером 9 * 2 (9 строк, 2 столбца), мне надо просуммировать строки так, чтобы первое значение в строке было не меньше, чем 5, а второе заченния не менее 10. Можно создать новый список, или можно редактировать этот . Сам список: [[0.0, 3.8175489999999996], [3.0, 21.275710999999998], [11.0, 59.286198], [47.0, 110.136649], [132.0, 153.45158500000002], [263.0, 171.041259], [301.0, 158.872652], [198.0, 126.488376], [50.0, 200.63002]] Thanks!!!!


Ответы (1 шт):

Автор решения: GrAnd

Не очень понятно условие задачи, но попробую...

data = [[  0.0, 3.8175489999999996], 
        [  3.0, 21.275710999999998], 
        [ 11.0, 59.286198         ], 
        [ 47.0, 110.136649        ], 
        [132.0, 153.45158500000002], 
        [263.0, 171.041259        ], 
        [301.0, 158.872652        ], 
        [198.0, 126.488376        ], 
        [ 50.0, 200.63002         ]]
 
result = [[0.0, 0.0]]
for values in data:
    if result[-1][0] < 5 or result[-1][1] < 10:
        result[-1] = list(map(sum, zip(result[-1], values)))
    else:
        result.append(values)

print(result)

Результат:

[[14.0, 84.379458], [47.0, 110.136649], [132.0, 153.45158500000002], [263.0, 171.041259], [301.0, 158.872652], [198.0, 126.488376], [50.0, 200.63002]]
→ Ссылка