эффективно перечислять элементы в кортежах, начиная с конца - PullRequest
3 голосов
/ 17 апреля 2010

Я бы хотел перечислить элементы в кортеже в Python, начиная с задней части, и перейти к началу. Аналогично:

foo_t = tuple(int(f) for f in foo)
print foo, foo_t[len(foo_t)-1] ...

Я полагаю, что это возможно без попытки ...- 4, кроме ...- 3. Мысли? предложения?

Ответы [ 2 ]

6 голосов
/ 17 апреля 2010

Вы можете print tuple(reversed(foo_t)) или использовать list вместо tuple или

print ' '.join(str(x) for x in reversed(foo_t))

и много вариантов. Вы также можете использовать foo_t[::-1], но я думаю, что встроенный reversed более читабелен.

2 голосов
/ 17 апреля 2010

Во-первых, общий совет: в Python вам не нужно писать foo_t[len(foo_t)-1]. Вы можете просто написать foo_t[-1], и Python сделает все правильно.

Чтобы ответить на ваш вопрос, вы можете сделать:

for foo in reversed(foo_t):
    print foo, # Omits the newline
print          # All done, now print the newline

или

print ' '.join(map(str, reversed(foo_t))

В Python 3 это так же просто, как:

print(*reversed(foo_t))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...