宿題の質問をしながら、文字列の組み込み逆関数があることを忘れて、私は文字列を逆転させる独自の方法を思いついた。文字列を逆にする別の方法
だからここにある:
for i in range(len(string)):
reversed = string[i] + reversed
これは逆転の(私は本当に長い文字列を持っている場合、たとえば)効率的かつ正しい方法であれば、私は思っていました。
宿題の質問をしながら、文字列の組み込み逆関数があることを忘れて、私は文字列を逆転させる独自の方法を思いついた。文字列を逆にする別の方法
だからここにある:
for i in range(len(string)):
reversed = string[i] + reversed
これは逆転の(私は本当に長い文字列を持っている場合、たとえば)効率的かつ正しい方法であれば、私は思っていました。
タイミングを比較できます。すべてのループ反復で新しい文字列オブジェクトを作成し、Pythonループで文字列の各文字をループするので、おそらく非常に非効率的です。ただし、ビルトイン関数はネイティブCコード(CPython)を使用します。
ワンライナーがあります:あなたはすでに構文を知らない限りreversed = string[::-1]
はしかし、それは読みにくいのようなものです。私は*全く*言わないだろうはるかに簡単なネイティブな方法があることを考慮すると - 「逆転の正しい方法は?」* *
def reverse(string):
return string[::-1]
:だから、いつもより有用名前の関数でそれを埋めることができます。 "それは働く"という面では、自分で判断することができます。 – deceze
好奇心がある場合は、関数 – daniel
でビルドのソースコードを調べることができます。だから、これは@Keiwanが指摘したように、これは欺瞞です。 OTOH、あなたはコードレビューを求めているように聞こえるので、[そのサイト](https://codereview.stackexchange.com)に属しているほうがよいでしょう。 – kojiro