Я хочу получить сумму списка, за исключением итеративного значения

#python #list

#python #Список

Вопрос:

columnData.tolist() выводит следующее

 [19.51 15.45 16.67  0.   12.06  5.97 15.56  0.   12.8  17.58]
  

Я хочу, чтобы каждая позиция в списке была преобразована в сумму всех других значений.

Ниже приведен код, который я пытаюсь.

 templ = [ sum( columnData.tolist().pop(i) )
          for i,l in enumerate(columnData.tolist()) ]
  

И результат:
»’
Ошибка типа: объект ‘float’ не может быть итерирован
«‘

Ответ №1:

Простая реализация с использованием понимания списка.

 lst = [] #your_list
s = sum(lst)
new_lst = [s-i for i in lst]
  

Комментарии:

1. Хороший ответ и чистое решение.

2. @S3DEV это лучшая часть Python

3. Большое спасибо за это. Я действительно думал, что делаю что-то ненужное, и решение было бы простым.