Подтвердить что ты не робот

Суммирование элементов в списке

Вот мой код, мне нужно суммировать количество элементов undefined в списке. Как это сделать?

l = raw_input()
l = l.split(' ')
l.pop(0)

Мой ввод: 3 5 4 9 После ввода я удаляю первый элемент через l.pop(0). После .split(' ') мой список ['5', '4', '9'], и мне нужно суммировать все элементы в этом списке.

В этом случае сумма равна 18. Обратите внимание, что количество элементов не определено.

4b9b3361

Ответ 1

Вы можете суммировать числа в списке просто с sum() встроенным:

sum(your_list)

Он будет суммировать столько элементов, сколько у вас есть. Пример:

my_list = range(10, 17)
my_list
[10, 11, 12, 13, 14, 15, 16]

sum(my_list)
91

Для вашего конкретного случая:

Для ваших данных сначала преобразуйте числа в int, а затем суммируйте числа:

data = ['5', '4', '9']

sum(int(i) for i in data)
18

Это будет работать для undefined количества элементов в вашем списке (если они являются "цифрами" )

Спасибо за преобразование комментариев @senderle в случае, если данные находятся в строчном формате.

Ответ 2

>>> l = raw_input()
1 2 3 4 5 6 7 8 9 10
>>> l = l.split()
>>> l.pop(0)
'1'
>>> sum(map(int, l)) #or simply sum(int(x) for x in l) , you've to convert the elements to integer first, before applying sum()
54

Ответ 3

Итератор Python можно суммировать так: [sum(range(10)[1:])]. Это суммирует все элементы из списка, кроме первого элемента.

>>> atuple = (1,2,3,4,5)
>>> sum(atuple)
15
>>> alist = [1,2,3,4,5]
>>> sum(alist)
15

Ответ 4

Вы можете использовать sum для суммирования элементов списка, однако, если ваш список исходит из raw_input, вы, вероятно, хотите сначала преобразовать элементы в int или float:

l = raw_input().split(' ')
sum(map(int, l))

Ответ 5

Вы можете использовать функцию map и встроенные функции pythons sum(). Это упрощает решение. И уменьшает сложность.
  a=map(int,raw_input().split())
  sum(a)
Готово!