Есть ли способ реализовать класс, чтобы его можно было сопоставить с функцией карты и распаковать как кортеж? Что-то такое:
class T
...
t = T(1,[1,2,3])
a, b = t
a==1 #True
b==[1,2,3] #True
list(map(str,t))==['1','2','3'] #True
Пробовал использовать __iter__
но оказывается используется для распаковки и карты.
В основном я хочу решить, какую часть кортежа я отображаю, возвращаю и распаковываю, как обычный кортеж.
list(map(str,t)) == ['1','2','2']
должно бытьlist(map(str,t)) == ['1', '[1,2,3]']
? - person Grijesh Chauhan   schedule 30.01.2016map
относились к вашему объекту так, как будто он состоит из разных элементов? Невозможно, если только вы не хотите сотворить серьезную черную магию со стеком вызовов. - person user2357112 supports Monica   schedule 30.01.2016'1', '2', '2'
? - person BrenBarn   schedule 30.01.2016[1, 2, 3]
). По его словам, это невозможно. И карта, и распаковка делают одно и то же, то есть итерацию. - person BrenBarn   schedule 30.01.2016