1

誰かが、次のように文字列を逆にすることができると私に言いました:

a='123456'
a = a[::-1]
print a

私はそれがどのように機能するのかわかりません。

4

3 に答える 3

4

これは、Python のスライス表記を利用しています。基本的に、元の文字列をさかのぼって作成された新しい文字列を返します。以下のデモンストレーションを参照してください。

>>> mystr = "abcde"    
>>> mystr[::-1]
'edcba'
>>> for i in mystr[::-1]:
...     print i
...
e
d
c
b
a
>>>

スライス表記の形式は[start:stop:step].

于 2013-10-21T15:28:00.977 に答える
2

3 番目のパラメーターはステップ サイズです。アイデアを得るためにいくつかの異なるステップサイズを試してください

>>> a = '123456'
>>> a[::2]
'135'
>>> a[::3]
'14'
>>> a[::-3]
'63'
>>> a[::-2]
'642'
>>> a[::-1]
'654321'

start と stop は空のままなので、Python はそれらを選択して文字列全体に沿って進みます。

于 2013-10-21T15:49:23.700 に答える