0

だから私は文字列を逆にしようとして31/12/9999います9999/12/31が、試してみましたが、文字列の内容をdate = date[::-1]生成9999/21/31して保存しません。

に似たものを探していphpますreverse_array( $array , $preserve );

4

2 に答える 2

5

これはPythonでそれを行う方法です

 '/'.join(reversed(s.split('/')))
 9999/12/31
于 2013-07-06T04:40:51.080 に答える
4

でリストに分割し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

または、1 行で:

>>> 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
于 2013-07-06T04:38:38.817 に答える