В Python 3 встроенная функция sum(iterable, /, start=0) позволяет получить сумму из итерируемого. [code]startЗначение [/code] не может быть строкой. Хорошо, мы можем вызывать sum для списков (конкатенация) [code]sum([[1,2,3],[4,5],[6]], start=[]) [/code]
[code][1, 2, 3, 4, 5, 6][/code]
потому что [code][1,2,3] + [4,5] + [6] == [1, 2, 3, 4, 5, 6] [/code] По той же логике [code](1,2,3) + (4,5) + (6,) == (1, 2, 3, 4, 5, 6) [/code] Я ожидаю, что смогу вызвать sum для кортежей с соответствующим результатом. Но [code]sum([(1,2,3),(4,5),(6)], start=()) [/code]
[code]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 [/code]
Я прочитал документацию bin и не нашел ограничений на использование кортежей.