0

文字列を逆にするコードを書いています。たとえば、reverse()関数を使用してGOOD ---> DOOG w/oです。もうすぐです...

a = "hello"

for i in range(1,len(a)+1): 

    print a[-i], 

結合関数を使用してコードを完成させると、期待どおりに機能しません。なぜ何かアイデアはありますか?私を狂わせる。

a = "hello"

for i in range(1,len(a)+1): 

    print ""join.a([-i],) 
4

3 に答える 3

3

次のように、1 行で文字列を逆にすることができます。

a[::-1]

スライスは のように機能し[start:stop:step]ます。したがって、 -1 を として使用するstepと、文字列が逆に出力されます。

>>> a = "hello"
>>> a[::-1]
'olleh'
于 2013-01-29T18:09:23.893 に答える
2

あなたがすることができます:

''.join(a[-i] for i in range(1,len(a)+1))

反復可能なアイテムに実際に結合する複数のアイテムがある場合、実際に最適に機能するjoinときに、アイテムが1つだけの反復可能なオブジェクトを渡しています。joinここでは、ジェネレータ式を渡します。

しかし、実際には、文字列を逆にする最も簡単で効率的な方法は次のとおりです。

a[::-1]
于 2013-01-29T18:08:47.990 に答える
1

私は行きs[::-1]ますが、ループを書く必要がある場合は、次のようにします。

for i in range(len(s) - 1, -1, -1):
    print s[i]
于 2013-01-29T18:23:08.527 に答える