Элементарные кортежные операции Python, такие как sum - PullRequest
89 голосов
/ 31 января 2009

Есть ли способ заставить кортежные операции в Python работать следующим образом:

>>> a = (1,2,3)
>>> b = (3,2,1)
>>> a + b
(4,4,4)

вместо:

>>> a = (1,2,3)
>>> b = (3,2,1)
>>> a + b
(1,2,3,3,2,1)

Я знаю, что это работает так, потому что методы __add__ и __mul__ определены для такой работы. Таким образом, единственный способ будет переопределить их?

Ответы [ 11 ]

0 голосов
/ 20 января 2018

В случае, если кому-то нужно усреднить список кортежей:

import operator 
from functools import reduce
tuple(reduce(lambda x, y: tuple(map(operator.add, x, y)),list_of_tuples))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...