文字列の操作について
Q&A
以下のような操作を行う最も早い方法を知りたいです.
以下具体例のため0,1,...,9を用いますがそれぞれは文字だと思って下さい. また本番で実装するのは文字列の長さが2nであります.
例
1,2,3,4 ⇒ 1,4,2,3
1,2,3,4,5,6 ⇒ 1,6,2,5,3,4
0,1,2,3,4,5,6,7,8,9 ⇒ 0,9,1,8,2,7,3,6,4,5
のように与えられた文字列をAとすると
A⇒A[0],A[-1],A[1],A[-2],...のように頭、後ろ、頭、後ろ...と繰り返し並び返す.
今のところの僕の実装
def henkan(A):
ans=""
for i in range(len(A)//2):
ans+=(A[i]+A[-(i+1)])
return ans
この操作を何度も繰り返す数学の問題を考えています. なので仮に0.01%でも速度が向上すると嬉しいので些細な案でも教えていただけると幸いです.
0