Split его в список с str.split()
, а затем распечатать обращенную строку с str.join()
:
>>> s = "31/12/9999"
>>> L = s.split('/') # L now contains ['31', '12', '9999']
>>> print '/'.join(L[::-1]) # Reverse the list, then print all the content in the list joined by a/
9999/12/31
Или в одной строке:
>>> print '/'.join(s.split('/')[::-1])
Однако, если вы работаете с датами, вы должны использовать модуль datetime
, чтобы позже вы могли делать другие вещи с датами:
>>> import datetime
>>> s = "31/12/9999"
>>> date = datetime.datetime.strptime(s, '%d/%m/%Y')
>>> print date.strftime('%Y/%m/%d')
9999/12/31
Временных сравнения:
$ python -m timeit 's = "31/12/9999"' "'/'.join(s.split('/')[::-1])"
1000000 loops, best of 3: 0.799 usec per loop
$ python -m timeit 's = "31/12/9999"' "'/'.join(reversed(s.split('/')))"
1000000 loops, best of 3: 1.53 usec per loop
идеального спасибо :) – Killrawr
@Killrawr Вы приветственный :) – TerryA