>>> b=[('spam',0), ('eggs',1)]
>>> [reversed(x) for x in b]
[<reversed object at 0x7fbf07de7090>, <reversed object at 0x7fbf07de70d0>]
Облом. Я ожидал получить список обратных кортежей!
Конечно, я могу сделать:
>>> [tuple(reversed(x)) for x in b]
[(0, 'spam'), (1, 'eggs')]
Но я надеялся на что-то общее? Что-то, что при передаче списка кортежей возвращает список обращенных кортежей, а при передаче списка списков возвращает список обращенных списков.
Конечно, уродливый хак с isinstance () всегда доступен, но я надеялся избежать этого пути.