Как получить сумму кортежей с помощью встроенной функции?Python

Программы на Python
Ответить
Anonymous
 Как получить сумму кортежей с помощью встроенной функции?

Сообщение Anonymous »

В Python 3 встроенная функция sum(iterable, /, start=0) позволяет получить сумму из итерируемого.

Код: Выделить всё

startЗначение 
не может быть строкой.
Хорошо, мы можем вызывать sum для списков (конкатенация)

Код: Выделить всё

sum([[1,2,3],[4,5],[6]], start=[])

Код: Выделить всё

[1, 2, 3, 4, 5, 6]
потому что

Код: Выделить всё

[1,2,3] + [4,5] + [6] == [1, 2, 3, 4, 5, 6]
По той же логике

Код: Выделить всё

(1,2,3) + (4,5) + (6,) == (1, 2, 3, 4, 5, 6)
Я ожидаю, что смогу вызвать sum для кортежей с соответствующим результатом. Но

Код: Выделить всё

sum([(1,2,3),(4,5),(6)], start=())

Код: Выделить всё

Traceback (most recent call last):
File "", line 1, in 
sum([(1,2,3),(4,5),(6)], start=())
TypeError: can only concatenate tuple (not "int") to tuple
Я прочитал документацию bin и не нашел ограничений на использование кортежей.


Подробнее здесь: https://stackoverflow.com/questions/798 ... n-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»